MediaPipe Framework ב-Android

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

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

ידע מוקדם שנדרש לקורס

  • מתקינים את MediaPipe Framework לפי instructions האלה.
  • הגדרת זמן ריצה של Java.
  • מגדירים את Android SDK מגרסה 30.0.0 ואילך.
  • מגדירים גרסה של Android NDK בין 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 בקובץ 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