MediaPipe 프레임워크로 Android 예시 앱을 빌드하려면 아래 안내를 따르세요. 이러한 예시 앱에 대해 자세히 알아보려면 Android의 Hello World부터 시작합니다.
Bazel을 사용하여 Android 예시 앱 빌드
기본 요건
- 이 안내에 따라 MediaPipe 프레임워크를 설치합니다.
- Java 런타임을 설정합니다.
- Android SDK 버전 30.0.0 이상을 설정합니다.
- Android NDK 버전 26 이상을 설정합니다.
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()
, bind()
규칙을 다음과 같이 WORKSPACE
파일에 추가합니다.
$ echo "android_sdk_repository(name = \"androidsdk\")" >> WORKSPACE
$ echo "android_ndk_repository(name = \"androidndk\", api_level=26)" >> WORKSPACE
$ echo "bind(name = \"android/crosstool\", actual = \"@androidndk//:toolchain\")" >> WORKSPACE
이전 Android 버전에서 프레임워크를 사용하려면 MediaPipe를 더 낮은 Android API 수준으로 전환해야 합니다. WORKSPACE
파일의 android_ndk_repository() 또는 android_sdk_repository()에서 api_level =
$YOUR_INTENDED_API_LEVEL
를 지정하면 됩니다.
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
다음과 같은 기기에 설치합니다.
adb install bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu/handtrackinggpu.apk