Reduzir o tamanho dos APKs do seu app Android no Kit de ML

Antes de implantar na produção um app que usa um modelo no dispositivo do Kit de ML, siga as orientações desta página para reduzir o tamanho do download do app.

Criar o app como um Android App Bundle

Crie e implante seu app como um Android App Bundle para que o Google Play possa gerar automaticamente APKs para densidades de tela, arquiteturas de CPU e idiomas específicos. Os usuários só precisam baixar os APKs que correspondem à configuração do dispositivo e, o mais importante, só baixam as bibliotecas de código nativo que correspondem à arquitetura do dispositivo.

Avançado: mover recursos opcionais de ML para módulos de recursos dinâmicos

Se você usa o Kit de ML em um recurso do app que não é o principal, considere refatorar o app para mover esse recurso e as dependências do Kit de ML para um módulo de recursos dinâmicos.

Para que os recursos do Kit de ML funcionem em um módulo de recurso on demand, inclua a dependência da biblioteca de suporte a recursos dinâmicos da Play Store do Kit de ML no arquivo build.gradle do APK de base.

dependencies {
    // ...
    implementation 'com.google.mlkit:playstore-dynamic-feature-support:16.0.0-beta2'
}

Ao fazer isso, você evita que os usuários façam o download desnecessário dos modelos de ML do seu app, que podem ser grandes.

Avançado: excluir binários não utilizados do Kit de ML

O Kit de ML é compatível com arquiteturas de 32 e 64 bits. Se o app for compatível apenas com o modo de 32 bits, por exemplo, porque você usa uma biblioteca que fornece apenas binários de 32 bits, é possível excluir as bibliotecas do Kit de ML não utilizadas do build:

android {
  defaultConfig {
      ndk {
          // Don't package arm64-v8a or x86_64
          abiFilters 'armeabi-v7a', 'x86'
      }
  }
}