본문 바로가기
Android

[Android] MediaPipe Framework Android Archive

by sosob 2023. 8. 2.
728x90

 

 

 

https://developers.google.com/mediapipe/framework/getting_started/android_archive_library

 

MediaPipe Framework Android Archive  |  Google for Developers

MediaPipe Framework Android Archive Stay organized with collections Save and categorize content based on your preferences. The MediaPipe Framework Android Archive (AAR) library is a convenient way to use MediaPipe Framework with Android Studio and Gradle.

developers.google.com

 

 

The MediaPipe Framework Android Archive (AAR) library is a convenient way to use MediaPipe Framework with Android Studio and Gradle. MediaPipe Framework doesn't publish a general AAR that can be used by all projects. Instead, developers need to create a mediapipe_aar() target to generate a custom AAR file for their own projects. This is necessary in order to include specific resources such as MediaPipe calculators needed for each project.

 

!! MUST MAKE AAR to Integrate Android studio.

 

Steps to build a MediaPipe Framework AAR

  1. Create a mediapipe_aar() target.
    In the MediaPipe directory, create a new mediapipe_aar() target in a BUILD file. You need to figure out what calculators are used in the graph and provide the calculator dependencies to the mediapipe_aar(). For example, to build an AAR for a face detection graph, you can put the following code into mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_example/BUILD.

 

load("//mediapipe/java/com/google/mediapipe:mediapipe_aar.bzl", "mediapipe_aar")

mediapipe_aar(
    name = "mediapipe_face_detection",
    calculators = ["//mediapipe/graphs/face_detection:mobile_calculators"],
)

 

왜 안돼지???(문제 해결 필요함.) --> 해결됨. 

bazel build -c opt --strip=ALWAYS \
    --host_crosstool_top=@bazel_tools//tools/cpp:toolchain \
    --fat_apk_cpu=arm64-v8a,armeabi-v7a \
    --legacy_whole_archive=0 \
    --features=-legacy_whole_archive \
    --copt=-fvisibility=hidden \
    --copt=-ffunction-sections \
    --copt=-fdata-sections \
    --copt=-fstack-protector \
    --copt=-Oz \
    --copt=-fomit-frame-pointer \
    --copt=-DABSL_MIN_LOG_LEVEL=2 \
    --linkopt=-Wl,--gc-sections,--strip-all //mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_test:mediapipe_face_detection.aar
    
    ....
     extracting: bazel-out/darwin_arm64-opt/bin/com/google/mediapipe/proto/PacketFactoryProto.java  
[2,820 / 3,616] 128 actions, 8 running
    Compiling tensorflow/lite/kernels/add.cc; 6s darwin-sandbox
    Compiling tensorflow/lite/kernels/space_to_batch_nd.cc; 4s darwin-sandbox
    Compiling tensorflow/lite/kernels/add_n.cc; 4s darwin-sandbox
    Compiling tensorflow/lite/kernels/unique.cc; 2s darwin-sandbox
    Compiling tensorflow/lite/kernels/batch_matmul.cc; 1s darwin-sand
    
    ....
    
    INFO: From Executing genrule //mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_test:mediapipe_face_detection:
Archive:  /private/var/tmp/_bazel_sjmyeong/4c429ed3823ca16f06246712e8a16818/sandbox/darwin-sandbox/8101/execroot/mediapipe/bazel-out/darwin_arm64-opt/bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_test/mediapipe_face_detection_dummy_app_unsigned.apk
   creating: lib/
   creating: lib/arm64-v8a/
  inflating: lib/arm64-v8a/libopencv_java3.so  
  inflating: lib/arm64-v8a/libmediapipe_jni.so  
   creating: lib/armeabi-v7a/
  inflating: lib/armeabi-v7a/libmediapipe_jni.so  
  inflating: lib/armeabi-v7a/libopencv_java3.so  
  adding: jni/arm64-v8a/libmediapipe_jni.so (deflated 69%)
  adding: jni/arm64-v8a/libopencv_java3.so (deflated 59%)
  adding: jni/armeabi-v7a/libmediapipe_jni.so (deflated 49%)
  adding: jni/armeabi-v7a/libopencv_java3.so (deflated 50%)
Target //mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_test:mediapipe_face_detection.aar up-to-date:
  bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_test/mediapipe_face_detection.aar
INFO: Elapsed time: 1069.830s, Critical Path: 334.80s
INFO: 4342 processes: 185 internal, 4124 darwin-sandbox, 33 worker.
INFO: Build completed successfully, 4342 total actions

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

728x90