mediapipe icon indicating copy to clipboard operation
mediapipe copied to clipboard

Build issue when using two aars (for example : mediapipe_hand.aar, mediapipe_holistic.aar)

Open jaewoolim opened this issue 3 years ago • 4 comments

Please make sure that this is a build/installation issue and also refer to the troubleshooting documentation before raising any issues.

System information (Please provide as much relevant information as possible)

  • OS Platform and Distribution (e.g. Linux Ubuntu 16.04, Android 11, iOS 14.4): Android 10
  • Compiler version (e.g. gcc/g++ 8 /Apple clang version 12.0.0):
  • Programming Language and version ( e.g. C++ 14, Python 3.6, Java ): java
  • Installed using virtualenv? pip? Conda? (if python):
  • MediaPipe version: v0.8.10.2
  • Bazel version: 5.2.0
  • XCode and Tulsi versions (if iOS):
  • Android SDK and NDK versions (if android):
  • Android AAR ( if android): mediapipe_hand.aar, mediapipe_holistic.aar
  • OpenCV version (if running on desktop):

Describe the problem: I'm making an android app that uses two aars. (mediapipe_hand.aar, mediapipe_holistic.aar) I want to use mediapipe_hand and mediapipe_holistic selectively. That is, if you want to use mediapipe_hand, use mediapipe_hand, and if you want to use mediapipe_holistic, stop mediapipe_hand and run mediapipe_holistic. This is due to GPU Load. However, an error occurs from the build process. I wonder if this method is not supported or if there is a solution.

Provide the exact sequence of commands / steps that you executed before running into the problem:

Complete Logs: Include Complete Log information or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached:

< Build Error > Duplicate class com.google.mediapipe.components.AudioDataConsumer found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.AudioDataProcessor found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.AudioDataProducer found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.CameraHelper found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.CameraHelper$CameraFacing found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.CameraHelper$OnCameraStartedListener found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.CameraXPreviewHelper found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.CameraXPreviewHelper$SingleThreadHandlerExecutor found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.ExternalTextureConverter found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.ExternalTextureConverter$RenderThread found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.ExternalTextureConverter$RenderThread$PoolTextureFrame found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.FrameProcessor found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.FrameProcessor$1 found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.FrameProcessor$2 found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.FrameProcessor$ErrorListener found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.FrameProcessor$OnWillAddFrameListener found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.GlSurfaceViewRenderer found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.MicrophoneHelper found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.PermissionHelper found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.TextureFrameConsumer found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.TextureFrameProcessor found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.components.TextureFrameProducer found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.annotation.proto.RasterizationProto found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.annotation.proto.RasterizationProto$1 found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.annotation.proto.RasterizationProto$Rasterization found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.annotation.proto.RasterizationProto$Rasterization$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.annotation.proto.RasterizationProto$Rasterization$Interval found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.annotation.proto.RasterizationProto$Rasterization$Interval$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.annotation.proto.RasterizationProto$Rasterization$IntervalOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.annotation.proto.RasterizationProto$RasterizationOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.ClassificationProto found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.ClassificationProto$1 found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.ClassificationProto$Classification found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.ClassificationProto$Classification$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.ClassificationProto$ClassificationList found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.ClassificationProto$ClassificationList$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.ClassificationProto$ClassificationListCollection found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.ClassificationProto$ClassificationListCollection$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.ClassificationProto$ClassificationListCollectionOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.ClassificationProto$ClassificationListOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.ClassificationProto$ClassificationOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.DetectionProto found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.DetectionProto$1 found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.DetectionProto$Detection found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.DetectionProto$Detection$AssociatedDetection found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.DetectionProto$Detection$AssociatedDetection$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.DetectionProto$Detection$AssociatedDetectionOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.DetectionProto$Detection$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.DetectionProto$DetectionList found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.DetectionProto$DetectionList$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.DetectionProto$DetectionListOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.DetectionProto$DetectionOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$1 found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$Landmark found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$Landmark$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$LandmarkList found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$LandmarkList$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$LandmarkListCollection found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$LandmarkListCollection$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$LandmarkListCollectionOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$LandmarkListOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$LandmarkOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$NormalizedLandmark found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$NormalizedLandmark$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$NormalizedLandmarkList found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$NormalizedLandmarkList$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$NormalizedLandmarkListCollection found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$NormalizedLandmarkListCollection$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$NormalizedLandmarkListCollectionOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$NormalizedLandmarkListOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LandmarkProto$NormalizedLandmarkOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$1 found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$BinaryMask found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$BinaryMask$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$BinaryMaskOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$BoundingBox found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$BoundingBox$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$BoundingBoxOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$Format found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$Format$1 found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$Format$FormatVerifier found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$RelativeBoundingBox found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$RelativeBoundingBox$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$RelativeBoundingBoxOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$RelativeKeypoint found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$RelativeKeypoint$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationData$RelativeKeypointOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.LocationDataProto$LocationDataOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.RectProto found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.RectProto$1 found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.RectProto$NormalizedRect found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.RectProto$NormalizedRect$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.RectProto$NormalizedRectOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.RectProto$Rect found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.RectProto$Rect$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.formats.proto.RectProto$RectOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.AndroidAssetUtil found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.AndroidPacketCreator found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.AndroidPacketGetter found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.AppTextureFrame found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.AssetCache found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.AssetCacheDbHelper found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.AssetCacheDbHelper$AssetCacheEntry found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.Compat found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.GlSyncToken found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.Graph found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.Graph$1 found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.Graph$PacketBufferItem found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.GraphGlSyncToken found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.GraphProfiler found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.GraphService found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.GraphTextureFrame found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.MediaPipeException found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.MediaPipeException$StatusCode found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.MediaPipeRunner found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.Packet found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.PacketCallback found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.PacketCreator found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.PacketGetter found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.PacketGetter$PacketPair found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.PacketListCallback found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.PacketWithHeaderCallback found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.ProtoUtil found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.ProtoUtil$SerializedMessage found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.SurfaceOutput found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.TextureFrame found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.TextureReleaseCallback found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.TypeNameRegistry found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.TypeNameRegistryConcrete found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.framework.TypeNameRegistryLite found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.glutil.CommonShaders found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.glutil.EglManager found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.glutil.ExternalTextureRenderer found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.glutil.ExternalTextureRenderer$Vertex found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.glutil.GlThread found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.glutil.ShaderUtil found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.glutil.TextureRenderer found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$1 found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$CalculatorGraphConfig found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$CalculatorGraphConfig$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$CalculatorGraphConfig$Node found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$CalculatorGraphConfig$Node$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$CalculatorGraphConfig$NodeOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$CalculatorGraphConfigOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$ExecutorConfig found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$ExecutorConfig$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$ExecutorConfigOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$InputCollection found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$InputCollection$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$InputCollection$InputType found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$InputCollection$InputType$1 found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$InputCollection$InputType$InputTypeVerifier found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$InputCollectionOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$InputCollectionSet found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$InputCollectionSet$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$InputCollectionSetOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$InputStreamInfo found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$InputStreamInfo$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$InputStreamInfoOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$ProfilerConfig found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$ProfilerConfig$Builder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar) Duplicate class com.google.mediapipe.proto.CalculatorProto$ProfilerConfigOrBuilder found in modules mediapipe_hand-runtime (mediapipe_hand.aar) and mediapipe_holistic-runtime (mediapipe_holistic.aar)

Go to the documentation to learn how to Fix dependency resolution errors.

jaewoolim avatar Aug 26 '22 02:08 jaewoolim

Hi @jaewoolim, Have you looked at similar closed issue #3472 and #3472(comment). Thank you!

kuaashish avatar Aug 26 '22 03:08 kuaashish

Hi @kuaashish #3472 issue is to make one aar with two solution. but My issue is to make android app with two aar (mediapipe_hand.aar, mediapipe_holistic.aar) It is a build error in the process of building the app. I wonder if this method is supported or not supported. If it's supported, let me know the solution. thank you.

jaewoolim avatar Aug 26 '22 04:08 jaewoolim

Hi @jaewoolim, The aar builder is only designed to support a single aar file per application. Workarounds: 1)Build all into one AAR (issue has a relegated issue suggesting this). 2)Rename all of the classes: Class shading: https://medium.com/@akhaku/java-class-shadowing-and-shading-9439b0eacb13. Thank you!

kuaashish avatar Sep 08 '22 04:09 kuaashish

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you.

google-ml-butler[bot] avatar Sep 15 '22 04:09 google-ml-butler[bot]

Closing as stale. Please reopen if you'd like to work on this further.

google-ml-butler[bot] avatar Sep 22 '22 04:09 google-ml-butler[bot]

Are you satisfied with the resolution of your issue? Yes No

google-ml-butler[bot] avatar Sep 22 '22 04:09 google-ml-butler[bot]

Hi @jaewoolim, The aar builder is only designed to support a single aar file per application. Workarounds: 1)Build all into one AAR (issue has a relegated issue suggesting this). 2)Rename all of the classes: Class shading: https://medium.com/@akhaku/java-class-shadowing-and-shading-9439b0eacb13. Thank you!

Hey @kuaashish do you have an example of how this can be built into a single AAR? I'm currently trying to include the face mesh solution in an AAR with the addition of the face_geometry_from_landmarks graph and there doesn't seem to be any clear way to include the required files for the face mesh solution API.

In the docs it states: "The transform pipeline is implemented as a MediaPipe calculator. For your convenience, this calculator is bundled together with corresponding metadata into a unified MediaPipe subgraph. The face transform format is defined as a Protocol Buffer message."

But does not give an example of how this graph can be combined with the existing face mesh solution API into a single output AAR.

Any help or insight around this would be greatly appreciated 🙏

thomas-coldwell avatar Sep 30 '22 07:09 thomas-coldwell

Hi @thomas-coldwell, Currently MediaPipe does not have such an example tested and published as a documentation. You can follow the class shading example as mentioned in the above commenhttps://github.com/google/mediapipe/issues/3638#issuecomment-1240198155t and implement your own application. Thank you!

kuaashish avatar Oct 17 '22 11:10 kuaashish

Hi @kuaashish, I try to follow the java shading but it seems not work for me. I am not sure whether I implemented in a correct way. Would you mind giving me some hits to solve it.

Background There are two module:

  1. App: contains a hand solution and hand aar lib.
  2. Pose: contains a pose solution and pose aar lib. In the pose module, I shadows the aar lib and import the pose module into the app module again but it still has the duplicated class error.

Code The code comes from my pose module.

import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar

plugins {
    id 'com.android.library'
    id 'maven-publish'
    id 'org.jetbrains.kotlin.android'
    id 'com.github.johnrengelman.shadow'
}

android {
    compileSdk 33

    defaultConfig {
        minSdk 21
        targetSdk 33

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    buildFeatures {
        dataBinding true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {

    implementation fileTree(dir: 'libs', include: ['*.jar', 'mediapipe_pose_tracking_gpu.aar'])
    // Initial Implementation Setting.
    implementation 'androidx.core:core-ktx:1.7.0'
    implementation 'androidx.appcompat:appcompat:1.4.1'
    implementation 'com.google.android.material:material:1.6.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

    // MediaPipe deps
    implementation 'com.google.flogger:flogger:latest.release'
    implementation 'com.google.flogger:flogger-system-backend:latest.release'
    implementation 'com.google.code.findbugs:jsr305:latest.release'
    implementation 'com.google.guava:guava:27.0.1-android'
    implementation 'com.google.protobuf:protobuf-javalite:3.19.1'

    // CameraX core library
    def camerax_version = "1.0.0-beta11"
    implementation "androidx.camera:camera-core:$camerax_version"
    implementation "androidx.camera:camera-camera2:$camerax_version"
    implementation "androidx.camera:camera-lifecycle:$camerax_version"

    // AutoValue
    def auto_value_version = "1.8.1"
    implementation "com.google.auto.value:auto-value-annotations:$auto_value_version"
    annotationProcessor "com.google.auto.value:auto-value:$auto_value_version"
}

task shadowJar(type: ShadowJar) {
    dependencies {
//        exclude(dependency('androidx.core:core-ktx'))
//        exclude(dependency('androidx.appcompat:appcompat'))
//        exclude(dependency('com.google.android.material:material'))
//        exclude(dependency('androidx.constraintlayout:constraintlayout'))
//        exclude(dependency('com.google.flogger:flogger'))
//        exclude(dependency('com.google.flogger:flogger-system-backend'))
//        exclude(dependency('com.google.code.findbugs:jsr305'))
//        exclude(dependency('com.google.guava:guava'))
//        exclude(dependency('com.google.protobuf:protobuf-javalite'))
//        exclude(dependency('androidx.camera:camera-core'))
//        exclude(dependency('androidx.camera:camera-camera2'))
//        exclude(dependency('androidx.camera:camera-lifecycle'))
//        exclude(dependency('com.google.auto.value:auto-value-annotations'))
    }
    mergeServiceFiles()
}

// configure relocation for all classes we shade
task relocateShadowJar(type: ConfigureShadowRelocation) {
    target = tasks.shadowJar
    // use 'curator2' in our prefix in case we want to include curator4 as well
    prefix = 'pose'
}
tasks.shadowJar.dependsOn tasks.relocateShadowJar

publishing {
    publications {
        // this tells maven-publish to publish our shadow jar
        mavenPublish(MavenPublication) { publication ->
            project.shadow.component(publication)
        }
    }
//    // set up local repo for publishing just so we can verify and debug - you normally don't need this
//    repositories {
//        maven {
//            url = "file://${buildDir}/repo/maven"
//        }
//    }
}

It is appreciated that you can point out my mistake, thank you.

TrifaC avatar Nov 24 '22 01:11 TrifaC