MediaPipe Framework trên Android

Vui lòng làm theo hướng dẫn bên dưới để tạo các ứng dụng mẫu Android bằng Khung MediaPipe. Để tìm hiểu thêm về các ứng dụng mẫu này, hãy bắt đầu từ Hello World! trên Android.

Tạo ứng dụng mẫu Android bằng Bazel

Điều kiện tiên quyết

  • Cài đặt Khung MediaPipe theo hướng dẫn này.
  • Thiết lập Java Runtime.
  • Thiết lập bản phát hành SDK Android 35.0.0 trở lên.
  • Thiết lập Android NDK phiên bản 28 trở lên.

MediaPipe đề xuất thiết lập Android SDK và NDK thông qua Android Studio (xem phần thiết lập Android Studio bên dưới). Tuy nhiên, nếu bạn muốn sử dụng MediaPipe mà không cần Android Studio, vui lòng chạy setup_android_sdk_and_ndk.sh để tải xuống và thiết lập Android SDK và NDK trước khi tạo bất kỳ ứng dụng mẫu nào trên Android.

Nếu bạn đã cài đặt SDK và NDK Android (ví dụ: bằng Android Studio), hãy đặt $ANDROID_HOME$ANDROID_NDK_HOME để trỏ đến SDK và NDK đã cài đặt.

export ANDROID_HOME=<path to the Android SDK>
export ANDROID_NDK_HOME=<path to the Android NDK>

và thêm các quy tắc android_ndk_repository(), android_sdk_repository()bind() vào tệp WORKSPACE như sau:

$ 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

Để sử dụng Framework trên các phiên bản Android cũ, MediaPipe cần chuyển sang cấp độ API Android thấp hơn. Bạn có thể thực hiện việc này bằng cách chỉ định api_level = $YOUR_INTENDED_API_LEVEL trong android_ndk_repository() và/hoặc android_sdk_repository() trong tệp WORKSPACE.

  1. Để tạo một ứng dụng mẫu Android, hãy tạo dựa trên mục tiêu tạo android_binary tương ứng. Ví dụ: đối với MediaPipe Hands, mục tiêu là handtrackinggpu trong tệp BUILD:

    bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu:handtrackinggpu
    
  2. Cài đặt trên thiết bị có:

    adb install bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu/handtrackinggpu.apk