請按照下方操作說明,使用 MediaPipe Framework 建構 Android 範例應用程式。如要進一步瞭解這些範例應用程式,請先參閱「Android 上的 Hello World!」一文。
使用 Bazel 建構 Android 範例應用程式
修課條件
- 按照操作說明安裝 MediaPipe Framework。
- 設定 Java 執行階段。
- 設定 Android SDK 30.0.0 以上版本。
- 設定 Android NDK 26 以上版本。
MediaPipe 建議您透過 Android Studio 設定 Android SDK 和 NDK (請參閱下文的 Android Studio 設定說明)。不過,如果您偏好在沒有 Android Studio 的情況下使用 MediaPipe,請先執行 setup_android_sdk_and_ndk.sh
,下載並設定 Android SDK 和 NDK,再建構任何 Android 範例應用程式。
如果已安裝 Android SDK 和 NDK (例如由 Android Studio 安裝),請將 $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