Guia de configuração para Android

Esta página mostra como configurar seu ambiente de desenvolvimento para usar o MediaPipe Tasks nos seus apps Android.

Dispositivos e plataformas com suporte

Para criar apps Android com o MediaPipe Tasks, seu ambiente de desenvolvimento exige o seguinte:

  • Android Studio com uma versão recomendada de pelo menos a 2021.1.1 (Bumblebee) ou outro ambiente de desenvolvimento integrado compatível.
  • SDK do Android versão 24 ou mais recente
  • Dispositivo Android com pelo menos a versão mínima do SDK. Um Android Emulator pode não funcionar para todas as tarefas.

Configuração do ambiente do desenvolvedor

Antes de executar uma tarefa do MediaPipe em um aplicativo Android, é necessário ter um app existente ou criar um novo projeto do Android Studio na máquina local. O MediaPipe se encaixa na camada de dados do app, que contém os dados do aplicativo e a lógica de negócios. Para mais informações sobre a arquitetura de apps Android, consulte o Guia para a arquitetura do app.

Configuração do dispositivo Android

Ative as Opções do desenvolvedor e a depuração USB em um dispositivo físico Android antes de usá-lo para testar seu aplicativo. Para instruções sobre como configurar seu dispositivo com as Opções do desenvolvedor, consulte Configurar opções do desenvolvedor no dispositivo.

Para tarefas que não exigem câmera ou microfone do dispositivo, use um emulador de dispositivo Android em vez de um dispositivo Android físico. Para conferir instruções sobre como configurar o Android Emulator, consulte Executar apps no Android Emulator.

Exemplo de configuração de código

O repositório MediaPipe Example (em inglês) contém exemplos de aplicativos Android para cada tarefa do MediaPipe. É possível criar um projeto com base no código de exemplo, criá-lo e executá-lo.

Para importar e criar o projeto de código de exemplo:

  1. Inicie o Android Studio.
  2. No Android Studio, selecione File > New > Import Project.
  3. Navegue até o diretório de código de exemplo que contém o arquivo build.gradle e selecione esse diretório, por exemplo: .../mediapipe/examples/text_classification/android/build.gradle
  4. Se o Android Studio solicitar uma sincronização do Gradle, escolha OK.
  5. Verifique se o dispositivo Android está conectado ao computador e se o modo de desenvolvedor está ativado. Clique na seta verde Run.

Se você selecionar o diretório correto, o Android Studio criará e criará um novo projeto. Esse processo pode levar alguns minutos, dependendo da velocidade do computador e se você usou o Android Studio para outros projetos. Quando o build for concluído, o Android Studio vai mostrar uma mensagem BUILD SUCCESSFUL no painel de status Build Output.

Para executar o projeto:

  1. No Android Studio, execute o projeto selecionando Run > Run....
  2. Selecione um dispositivo Android (ou emulador) conectado para testar o app.

Dependências do MediaPipe Tasks

O MediaPipe Tasks oferece três bibliotecas pré-criadas para visão, texto e áudio. O arquivo de modelo .tflite precisa estar localizado no diretório de assets do módulo Android que usa o modelo. Dependendo da tarefa do MediaPipe usada pelo app, adicione a visão, o texto ou a biblioteca de áudio à lista de dependências no arquivo build.gradle.

Tarefas de IA generativa

As bibliotecas de IA generativa do MediaPipe Tasks têm tarefas que processam a geração de imagens ou textos. Para importar as bibliotecas de IA generativa do MediaPipe Tasks no Android Studio, adicione as dependências ao arquivo build.gradle.

Gerador de imagem

A tarefa do gerador de imagens do MediaPipe está na biblioteca tasks-vision-image-generator. Adicione a dependência ao seu arquivo build.gradle:

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

API LLM Inference

A tarefa de inferência de LLM do MediaPipe está contida na biblioteca tasks-genai. Adicione a dependência ao arquivo build.gradle:

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

Tarefas de visão

A biblioteca de visão do MediaPipe Tasks contém tarefas que processam entradas de imagem ou vídeo. Para importar a biblioteca de visão do MediaPipe Tasks no Android Studio, adicione as dependências abaixo ao arquivo build.gradle:

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

Tarefas de texto

A biblioteca de texto MediaPipe Tasks contém tarefas que processam dados de idioma no formato de texto. Para importar a biblioteca de texto do MediaPipe Tasks no Android Studio, adicione as dependências abaixo ao arquivo build.gradle:

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

Tarefas de áudio

A biblioteca de áudio MediaPipe Tasks contém tarefas que processam entradas de som. Para importar a biblioteca de áudio do MediaPipe Tasks para o Android Studio, adicione as dependências abaixo ao arquivo build.gradle:

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

Configuração de BaseOptions

O BaseOptions permite a configuração geral das APIs Task do MediaPipe.

Nome da opção Descrição Valores aceitos
modelAssetBuffer O conteúdo do arquivo de recurso do modelo como um ByteBuffer direto ou um MappedByteBuffer. ByteBuffer ou MappedByteBuffer como uma string
modelAssetPath O caminho do modelo para um arquivo de recurso de modelo na pasta de recursos de link para app Android. Caminho do arquivo como uma string
modelAssetFileDescriptor O número inteiro do descritor do arquivo nativo de um arquivo de recurso do modelo. Número inteiro que especifica o descritor do arquivo
Delegate Permite a aceleração de hardware por meio de um delegado de dispositivo para executar o pipeline MediaPipe. Valor padrão: CPU. [CPU,
GPU]

Aceleração de hardware

O MediaPipe Tasks é compatível com o uso de unidades de processamento gráfico (GPUs) para executar modelos de machine learning. Em dispositivos Android, é possível ativar o uso da execução acelerada pela GPU dos modelos usando um delegado. Os delegados atuam como drivers de hardware para o MediaPipe, permitindo que você execute os modelos em processadores GPU em vez de nos processadores de CPU padrão.

Configure o delegado da GPU nas opções da tarefa usando BaseOptions:

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

Solução de problemas

Para receber ajuda com dúvidas técnicas relacionadas ao MediaPipe, acesse o grupo de discussão ou o Stack Overflow para receber suporte da comunidade. Para informar bugs ou solicitar recursos, registre um problema no GitHub.

Para receber ajuda na configuração do seu ambiente de desenvolvimento Android, acesse a documentação do desenvolvedor Android.