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

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

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

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

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

หากต้องการใช้เฟรมเวิร์กใน Android เวอร์ชันก่อนหน้า MediaPipe จำเป็นต้องเปลี่ยนไปใช้ Android API ระดับที่ต่ำลง คุณสามารถทำได้โดยระบุ 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