请按照以下说明使用 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_inventory() 和 android_sdk_inventory() 规则添加到 WORKSPACE
文件中,如下所示:
$ echo "android_sdk_repository(name = \"androidsdk\")" >> WORKSPACE
$ echo "android_ndk_repository(name = \"androidndk\", api_level=21)" >> WORKSPACE
为了在早期 Android 版本上使用框架,MediaPipe 需要切换到较低的 Android API 级别。为此,您可以在 android_ndk_inventory() 和/或 WORKSPACE
文件中的 android_sdk_repo() 中指定 api_level =
$YOUR_INTENDED_API_LEVEL
。
如需构建 Android 示例应用,请根据相应的
android_binary
构建目标进行构建。例如,对于 MediaPipe 手部,目标为 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