Android의 MediaPipe 프레임워크

MediaPipe 프레임워크를 사용하여 Android 예시 앱을 빌드하려면 아래 안내를 따르세요. 이 예시 앱에 관한 자세한 내용은 Android의 Hello World를 참조하세요.

Bazel을 사용하여 Android 예시 앱 빌드

기본 요건

  • instructions에 따라 MediaPipe 프레임워크를 설치합니다.
  • 자바 런타임을 설정합니다.
  • Android SDK 출시 30.0.0 이상을 설정합니다.
  • Android NDK 버전을 18~21로 설정합니다.

MediaPipe는 Android 스튜디오를 통해 Android SDK 및 NDK를 설정하는 것이 좋습니다. Android 스튜디오 설정은 아래를 참고하세요. 그러나 Android 스튜디오 없이 MediaPipe를 사용하려면 Android 예시 앱을 빌드하기 전에 setup_android_sdk_and_ndk.sh를 실행하여 Android SDK 및 NDK를 다운로드하고 설정하세요.

Android SDK와 NDK가 이미 설치된 경우 (예: Android 스튜디오에서) $ANDROID_HOME 및 $ANDROID_NDK_HOME을 설정하여 설치된 SDK와 NDK를 가리키도록 합니다.

export ANDROID_HOME=<path to the Android SDK>
export ANDROID_NDK_HOME=<path to the Android NDK>

android_ndk_repository() 및 android_sdk_repository() 규칙을 WORKSPACE 파일에 다음과 같이 추가합니다.

$ echo "android_sdk_repository(name = \"androidsdk\")" >> WORKSPACE
$ echo "android_ndk_repository(name = \"androidndk\", api_level=21)" >> WORKSPACE

이전 Android 버전에서 프레임워크를 사용하려면 MediaPipe를 더 낮은 Android API 수준으로 전환해야 합니다. 이렇게 하려면 WORKSPACE 파일의 android_ndk_repository() 또는 android_sdk_repository()에 api_level = $YOUR_INTENDED_API_LEVEL를 지정하면 됩니다.

  1. Android 예시 앱을 빌드하려면 상응하는 android_binary 빌드 타겟을 기준으로 빌드합니다. 예를 들어 MediaPipe Hands의 경우 타겟은 BUILD 파일의 handtrackinggpu입니다.

    bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu:handtrackinggpu
    
  2. 다음을 갖춘 기기에 설치:

    adb install bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu/handtrackinggpu.apk