MediaPipe Framework ב-Android

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

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

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

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

MediaPipe ממליצה להגדיר את 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() בתוך WORKSPACE תיוק בתור הבאים:

$ echo "android_sdk_repository(name = \"androidsdk\")" >> WORKSPACE
$ echo "android_ndk_repository(name = \"androidndk\", api_level=21)" >> WORKSPACE

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

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

    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