เฟรมเวิร์ก MediaPipe บน Android

โปรดทำตามวิธีการด้านล่างเพื่อสร้างแอปตัวอย่างสำหรับ Android ที่มี MediaPipe Framework หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับตัวอย่างแอปเหล่านี้ ให้เริ่มจาก Hello World! ในวันที่ Android

การสร้างแอปตัวอย่างสำหรับ Android ด้วย Bazel

วิชาบังคับก่อน

  • ติดตั้ง MediaPipe Framework โดยทำตามวิธีการเหล่านี้
  • ตั้งค่า Java Runtime
  • ตั้งค่า 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

MediaPipe จำเป็นต้องเปลี่ยนเพื่อใช้เฟรมเวิร์กใน Android เวอร์ชันก่อนหน้า ให้อยู่ในระดับ API ที่ต่ำกว่า Android ซึ่งทำได้โดยการระบุ api_level = $YOUR_INTENDED_API_LEVEL ใน android_ndk_repository() และ/หรือ android_sdk_repository() ใน WORKSPACE

  1. หากต้องการสร้างแอปตัวอย่างสำหรับ Android ให้สร้างให้สอดคล้องกับ เป้าหมายบิลด์ android_binary รายการ ตัวอย่างเช่น สำหรับ MediaPipe Hands เป้าหมาย เป็นhandtrackinggpuใน สร้าง ไฟล์:

    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