MediaPipe Framework ב-Android

כדי ליצור אפליקציות לדוגמה ל-Android באמצעות MediaPipe Framework, יש לפעול לפי ההוראות שבהמשך. מידע נוסף על האפליקציות לדוגמה מופיע במאמר Hello World! ב-Android.

פיתוח אפליקציות לדוגמה ל-Android באמצעות Bazel

דרישות מוקדמות

  • מתקינים את MediaPipe Framework לפי ההוראות האלה.
  • מגדירים את Java Runtime.
  • מגדירים את Android SDK בגרסה 30.0.0 ואילך.
  • מגדירים את Android NDK בגרסה 26 ואילך.

מומלץ להגדיר את Android SDK ו-NDK דרך Android Studio (מידע נוסף על הגדרת Android Studio מופיע בהמשך). עם זאת, אם אתם מעדיפים להשתמש ב-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() ו-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

כדי להשתמש ב-Framework בגרסאות קודמות של Android, צריך להעביר את MediaPipe לרמה נמוכה יותר של Android API. כדי לעשות זאת, מציינים את api_level = $YOUR_INTENDED_API_LEVEL ב-android_ndk_repository() ו/או ב-android_sdk_repository() בקובץ WORKSPACE.

  1. כדי ליצור אפליקציית דוגמה ל-Android, צריך לבצע build לפי יעד ה-build התואם של android_binary. לדוגמה, ב-MediaPipe Hands היעד הוא handtrackinggpu בקובץ BUILD:

    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