Android 上的 MediaPipe 框架

请按照以下说明使用 MediaPipe 框架构建 Android 示例应用。 如需详细了解这些示例应用,请从 Hello World!已开启 Android 设备

使用 Bazel 构建 Android 示例应用

前提条件

  • 按照这些说明安装 MediaPipe Framework。
  • 设置 Java 运行时。
  • 设置 Android SDK 30.0.0 及更高版本。
  • 设置 18 到 21 之间的 Android NDK 版本。

MediaPipe 建议通过 Android Studio 设置 Android SDK 和 NDK(并参阅 。不过,如果你更喜欢在不使用 MediaPipe 的情况下 Android Studio,请运行 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 版本上使用框架,MediaPipe 需要将 降低到较低的 Android API 级别。您可以通过在 android_ndk_repository() 和/或api_level = $YOUR_INTENDED_API_LEVEL android_sdk_repository() WORKSPACE 文件。

  1. 如需构建 Android 示例应用,请根据相应的 android_binary 构建目标。例如,对于“MediaPipe Hands”,目标为 在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