Android 设置指南

本页介绍了如何设置开发环境,以便在 Android 应用中使用 MediaPipe Tasks。

支持的设备和平台

如需使用 MediaPipe Tasks 创建 Android 应用,您的开发环境需要满足以下要求:

  • 使用 Android Studio,建议版本至少为 2021.1.1 (Bumblebee) 或其他兼容的 IDE。
  • Android SDK 24 或更高版本
  • 至少搭载最低 SDK 版本的 Android 设备。Android 模拟器可能只适用于部分任务。

开发者环境设置

在 Android 应用上运行 MediaPipe 任务之前,您必须已有应用或在本地机器上创建新的 Android Studio 项目。MediaPipe 位于应用的数据层中,其中包含应用数据和业务逻辑。如需详细了解 Android 应用架构,请参阅应用架构指南

Android 设备设置

您必须先在实体 Android 设备上启用开发者选项和 USB 调试,然后才能使用设备测试应用。有关使用开发者选项配置设备的说明,请参阅配置设备上的开发者选项

对于不需要设备摄像头或麦克风的任务,您可以使用 Android 设备模拟器来代替实体 Android 设备。如需了解如何设置 Android 模拟器,请参阅在 Android 模拟器上运行应用

示例代码设置

MediaPipe 示例代码库包含每项 MediaPipe 任务的示例 Android 应用。您可以从示例代码创建项目,构建项目,然后运行该项目。

如需导入并构建示例代码项目,请执行以下操作:

  1. 启动 Android Studio
  2. 在 Android Studio 中,依次选择 File > New > Import Project
  3. 找到包含 build.gradle 文件的示例代码目录并选择该目录,例如:.../mediapipe/examples/text_classification/android/build.gradle
  4. 如果 Android Studio 请求执行 Gradle 同步,请选择 OK
  5. 确保您的 Android 设备已连接到计算机并已启用开发者模式。点击绿色的 Run 箭头。

如果您选择正确的目录,Android Studio 会创建一个新项目并构建该项目。此过程可能需要几分钟,具体取决于计算机的运行速度以及您是否为其他项目使用了 Android Studio。构建完成后,Android Studio 会在 Build Output 状态面板中显示 BUILD SUCCESSFUL 消息。

如需运行项目,请执行以下操作:

  1. 在 Android Studio 中,依次选择 Run > Run... 来运行项目。
  2. 选择连接的 Android 设备(或模拟器)以测试应用。

MediaPipe Tasks 依赖项

MediaPipe Tasks 提供了三个预构建的视觉、文本和音频库。.tflite 模型文件必须位于使用该模型的 Android 模块的 assets 目录中。根据应用使用的 MediaPipe 任务,将视觉、文本或音频库添加到 build.gradle 文件中的依赖项列表中。

生成式 AI 任务

MediaPipe Tasks 生成式 AI 库包含用于处理图片或文本生成的任务。如需在 Android Studio 中导入 MediaPipe Tasks 生成式 AI 库,请将依赖项添加到 build.gradle 文件中。

图片生成器

MediaPipe 图片生成器任务包含在 tasks-vision-image-generator 库中。将依赖项添加到您的 build.gradle 文件中:

dependencies {
    implementation 'com.google.mediapipe:tasks-vision-image-generator:latest.release'
}

LLM 推断 API

MediaPipe LLM 推断任务包含在 tasks-genai 库中。将依赖项添加到您的 build.gradle 文件中:

dependencies {
    implementation 'com.google.mediapipe:tasks-genai:latest.release'
}

视觉任务

MediaPipe Tasks 视觉库包含用于处理图片或视频输入的任务。如需在 Android Studio 中导入 MediaPipe Tasks 视觉库,请将以下依赖项添加到 build.gradle 文件中:

dependencies {
    implementation 'com.google.mediapipe:tasks-vision:latest.release'
}

文本任务

MediaPipe Tasks 文本库包含以文本格式处理语言数据的任务。如需在 Android Studio 中导入 MediaPipe Tasks 文本库,请将以下依赖项添加到 build.gradle 文件中:

dependencies {
    implementation 'com.google.mediapipe:tasks-text:latest.release'
}

音频任务

MediaPipe Tasks 音频库包含用于处理声音输入的任务。如需在 Android Studio 中导入 MediaPipe Tasks 音频库,请将以下依赖项添加到 build.gradle 文件中:

dependencies {
    implementation 'com.google.mediapipe:tasks-audio:latest.release'
}

BaseOptions 配置

BaseOptions 支持对 MediaPipe Task API 进行常规配置。

选项名称 说明 已接受的值
modelAssetBuffer 作为直接 ByteBufferMappedByteBuffer 的模型资源文件内容。 字符串形式的 ByteBufferMappedByteBuffer
modelAssetPath Android 应用资源文件夹中模型资源文件的模型路径。 字符串形式的文件路径
modelAssetFileDescriptor 模型资产文件的原生文件描述符整数。 指定文件描述符的整数
Delegate 通过设备委托启用硬件加速,以运行 MediaPipe 流水线。默认值为 CPU [CPU,
GPU]

硬件加速

MediaPipe Tasks 支持使用图形处理单元 (GPU) 运行机器学习模型。在 Android 设备上,您可以使用委托来启用由 GPU 加速执行的模型。委托可充当 MediaPipe 的硬件驱动程序,可让您在 GPU 处理器(而不是标准 CPU 处理器)上运行模型。

通过 BaseOptions 在任务选项中配置 GPU 委托:

BaseOptions baseOptions = BaseOptions.builder().useGpu().build();

问题排查

如需有关 MediaPipe 的技术问题方面的帮助,请访问论坛Stack Overflow 以获取社区支持。如需报告 bug 或提出功能请求,请在 GitHub 上提交问题

如果在设置 Android 开发环境方面需要帮助,请访问 Android 开发者文档