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 を使用する場合は、Android サンプルアプリをビルドする前に、setup_android_sdk_and_ndk.sh
を実行して Android SDK と NDK をダウンロードして設定してください。
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 バージョンで Framework を使用するには、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