Guía de configuración para Android

En esta página, se muestra cómo configurar tu entorno de desarrollo para usar MediaPipe Tasks en tus aplicaciones para Android.

Plataformas y dispositivos compatibles

Para crear aplicaciones para Android con MediaPipe Tasks, tu entorno de desarrollo requiere lo siguiente:

  • Android Studio con una versión recomendada de, al menos, la versión 2021.1.1 (Bumblebee) o algún otro IDE compatible
  • SDK de Android versión 24 o posterior
  • Dispositivo Android con al menos la versión mínima del SDK Es posible que un emulador de Android no funcione para todas las tareas.

Configuración del entorno para desarrolladores

Antes de ejecutar una tarea de MediaPipe en una aplicación para Android, debes tener una app existente o crear un nuevo proyecto de Android Studio en tu máquina local. MediaPipe se ajusta a la capa de datos de tu app, que contiene los datos de la aplicación y la lógica empresarial. Para obtener más información sobre la arquitectura de apps para Android, consulta la Guía de arquitectura de apps.

Configuración de dispositivos Android

Debes habilitar las Opciones para desarrolladores y la depuración por USB en un dispositivo Android físico antes de usarlo para probar tu aplicación. Para obtener instrucciones y configurar tu dispositivo con las Opciones para desarrolladores, consulta Cómo configurar las opciones para desarrolladores en el dispositivo.

Para las tareas que no requieren la cámara o el micrófono del dispositivo, puedes usar un emulador de dispositivo Android en lugar de un dispositivo Android físico. Si necesitas instrucciones para configurar Android Emulator, consulta Cómo ejecutar apps en Android Emulator.

Ejemplo de configuración de código

El repositorio de Ejemplos de MediaPipe contiene aplicaciones para Android de ejemplo para cada tarea de MediaPipe. Puedes crear un proyecto a partir del código de ejemplo, compilar el proyecto y, luego, ejecutarlo.

Para importar y compilar el proyecto de código de ejemplo, haz lo siguiente:

  1. Inicia Android Studio.
  2. En Android Studio, selecciona File > New > Import Project.
  3. Navega al directorio de código de ejemplo que contiene el archivo build.gradle y selecciona ese directorio, por ejemplo: .../mediapipe/examples/text_classification/android/build.gradle.
  4. Si Android Studio solicita una sincronización de Gradle, elige OK.
  5. Asegúrate de que tu dispositivo Android esté conectado a tu computadora y de que el modo de desarrollador esté habilitado. Haz clic en la flecha verde Run.

Si seleccionas el directorio correcto, Android Studio creará un proyecto nuevo y lo compilará. Este proceso puede tardar unos minutos, según la velocidad de la computadora y si usaste Android Studio para otros proyectos. Cuando se completa la compilación, Android Studio muestra un mensaje BUILD SUCCESSFUL en el panel de estado Build Output.

Para ejecutar el proyecto, haz lo siguiente:

  1. En Android Studio, selecciona Run > Run... para ejecutar el proyecto.
  2. Selecciona un dispositivo Android (o emulador) conectado para probar la app.

Dependencias de MediaPipe Tasks

MediaPipe Tasks proporciona tres bibliotecas previamente compiladas para visión, texto y audio. El archivo del modelo .tflite debe estar ubicado en el directorio de recursos del módulo de Android que usa el modelo. Según la tarea de MediaPipe que use la app, agrega la biblioteca de visión, texto o audio a la lista de dependencias dentro del archivo build.gradle.

Tareas de IA generativa

Las bibliotecas de IA generativa de MediaPipe Tasks contienen tareas que controlan la generación de imágenes o texto. Para importar las bibliotecas de IA generativa de MediaPipe Tasks en Android Studio, agrega las dependencias a tu archivo build.gradle.

Generador de imágenes

La tarea de generador de imágenes de MediaPipe se encuentra en la biblioteca tasks-vision-image-generator. Agrega la dependencia a tu archivo build.gradle:

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

API de inferencia de LLM

La tarea de inferencia del LLM de MediaPipe se encuentra dentro de la biblioteca tasks-genai. Agrega la dependencia a tu archivo build.gradle:

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

Tareas de visión

La biblioteca de visión de MediaPipe Tasks contiene tareas que controlan las entradas de imagen o video. Para importar la biblioteca de visión de MediaPipe Tasks en Android Studio, agrega las siguientes dependencias a tu archivo build.gradle:

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

Tareas de texto

La biblioteca de texto de MediaPipe Tasks contiene tareas que controlan los datos de idioma en formato de texto. Para importar la biblioteca de texto de MediaPipe Tasks en Android Studio, agrega las siguientes dependencias a tu archivo build.gradle:

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

Tareas de audio

La biblioteca de audio de MediaPipe Tasks contiene tareas que controlan las entradas de sonido. Para importar la biblioteca de audio de MediaPipe Tasks en Android Studio, agrega las siguientes dependencias a tu archivo build.gradle:

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

Configuración de BaseOptions

BaseOptions permite la configuración general de las APIs de MediaPipe Task.

Nombre de la opción Descripción Accepted values
modelAssetBuffer El archivo de elementos del modelo tiene contenido directo como ByteBuffer o MappedByteBuffer. ByteBuffer o MappedByteBuffer como una cadena
modelAssetPath La ruta de acceso del modelo a un archivo de recursos de modelo en la carpeta de recursos de aplicación para Android. Ruta de acceso al archivo como cadena
modelAssetFileDescriptor El valor entero del descriptor de archivos nativo de un archivo de recursos del modelo. Número entero que especifica el descriptor de archivo
Delegate Habilita la aceleración de hardware a través de un delegado de dispositivo para ejecutar la canalización de MediaPipe. Valor predeterminado: CPU. [CPU,
GPU]

Aceleración de hardware

MediaPipe Tasks admite el uso de unidades de procesamiento gráfico (GPU) para ejecutar modelos de aprendizaje automático. En dispositivos Android, puedes habilitar el uso de la ejecución acelerada por GPU de tus modelos mediante un delegado. Los delegados actúan como controladores de hardware para MediaPipe, lo que te permite ejecutar tus modelos en procesadores de GPU en lugar de los procesadores de CPU estándar.

Configura el delegado de la GPU en las opciones de la tarea a través de BaseOptions:

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

Solución de problemas

Si quieres obtener ayuda con preguntas técnicas relacionadas con MediaPipe, visita el grupo de discusión o Stack Overflow para obtener asistencia de la comunidad. Para informar errores o realizar solicitudes de funciones, informa un problema en GitHub.

Si necesitas ayuda para configurar tu entorno de desarrollo de Android, consulta la documentación para desarrolladores de Android.