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

Antes de implantar em produção um aplicativo que usa um modelo de kit de ML no dispositivo, siga as recomendaçõ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 APKs automaticamente para densidades de tela, arquiteturas de CPU e idiomas específicos. Os usuários só precisam fazer o download dos APKs que correspondem à configuração do dispositivo e, o mais importante, fazem o download apenas das bibliotecas de código nativo que correspondem à arquitetura do dispositivo.

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

Se você usar o Kit de ML em um recurso que não seja o objetivo principal do app, faça a refatoração do app para mover esse recurso e as dependências do Kit de ML para um módulo de recurso dinâmico.

Para que os recursos do Kit de ML funcionem em um módulo de recursos sob demanda, no arquivo build.gradle do apk de base, inclua a dependência da biblioteca de suporte de recursos dinâmicos da playstore do Kit de ML.

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 desnecessariamente dos modelos de ML do seu app, que podem ser grandes.

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

O Kit de ML foi desenvolvido com suporte para arquiteturas de 32 e 64 bits. Caso seu app ofereça suporte apenas ao modo de 32 bits (por exemplo, porque você usa uma biblioteca que só fornece binários de 32 bits), é possível excluir as bibliotecas do Kit de ML não usadas do build:

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