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

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

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

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

  • ติดตั้งเฟรมเวิร์ก MediaPipe โดยทำตามวิธีการเหล่านี้
  • ตั้งค่า Java Runtime
  • ตั้งค่า Android SDK เวอร์ชัน 35.0.0 ขึ้นไป
  • ตั้งค่า Android NDK เวอร์ชัน 28 ขึ้นไป

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() และ 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

หากต้องการใช้เฟรมเวิร์กใน 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