Android 上的 MediaPipe 架構

請按照下列操作說明,使用 MediaPipe 架構建構 Android 範例應用程式。如要進一步瞭解這些範例應用程式,請從 Android 上的 Hello World! 開始。

使用 Bazel 建構 Android 範例應用程式

修課條件

  • 按照這些instructions安裝 MediaPipe 架構。
  • 設定 Java 執行階段。
  • 設定 Android SDK 30.0.0 以上版本。
  • 設定 18 到 21 之間的 Android NDK 版本。

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() 規則新增至 WORKSPACE 檔案,如下所示:

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

如要在較舊的 Android 版本上使用 Framework,MediaPipe 必須切換至較低的 Android API 級別。為此,您可以在 WORKSPACE 檔案的 android_ndk_repository() 和/或 android_sdk_repository() 指定 api_level = $YOUR_INTENDED_API_LEVEL

  1. 如要建構 Android 範例應用程式,請根據對應的 android_binary 建構目標進行建構。舉例來說,如果 MediaPipe Coms 位於 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