MediaPipe Framework ב-Android

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

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

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

  • מתקינים את MediaPipe Framework לפי ההוראות האלה.
  • מגדירים את זמן הריצה של Java.
  • מגדירים את Android SDK בגרסה 35.0.0 ואילך.
  • מגדירים את Android NDK בגרסה 28 ואילך.

מומלץ להגדיר את 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 צריך לעבור לרמת API נמוכה יותר של Android. כדי לעשות את זה, צריך לציין api_level = $YOUR_INTENDED_API_LEVEL בפונקציות android_ndk_repository() או android_sdk_repository() בקובץ WORKSPACE.

  1. כדי ליצור אפליקציה לדוגמה ל-Android, צריך ליצור אותה בהתאם ליעד הבנייה המתאים 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