MediaPipe Framework trên Android

Vui lòng làm theo hướng dẫn bên dưới để tạo ứ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 Thời gian chạy Java.
  • Thiết lập bản phát hành SDK Android 30.0.0 trở lên.
  • Thiết lập Android NDK phiên bản 26 trở lên.

MediaPipe đề xuất thiết lập SDK Android và NDK thông qua Android Studio (và xem phần bên dưới để biết cách thiết lập Android Studio). 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 SDK Android và NDK trước khi tạo bất kỳ ứng dụng mẫu Android nào.

Nếu bạn đã cài đặt SDK Android và NDK (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>

rồi 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 Khung 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 bản dựng 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 ứng dụng này trên thiết bị có:

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