Riduci le dimensioni degli APK dell'app per Android ML Kit

Prima di eseguire il deployment in produzione di un'app che utilizza un modello on-device di ML Kit, considera la possibilità di seguire i consigli riportati in questa pagina per ridurre le dimensioni di download della tua app.

Creare l'app come Android App Bundle

Crea e implementa la tua app come Android App Bundle in modo che Google Play possa generare automaticamente APK per densità di schermo, architetture CPU e lingue specifiche. Gli utenti dovranno scaricare solo gli APK corrispondenti alla configurazione del loro dispositivo e, soprattutto, le librerie di codice nativo corrispondenti all'architettura del loro dispositivo.

(Avanzato) Spostare le funzionalità ML facoltative nei moduli di funzionalità dinamiche

Se utilizzi ML Kit in una funzionalità della tua app che non è il suo scopo principale, valuta la possibilità di eseguire il refactoring dell'app per spostare la funzionalità e le relative dipendenze da ML Kit in un modulo di funzionalità dinamica.

Affinché le funzionalità di ML Kit funzionino in un modulo di funzionalità on demand, nel file build.gradle dell'apk di base, includere la dipendenza della libreria di supporto delle funzionalità dinamiche del Play Store di ML Kit.

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

In questo modo, impedisci agli utenti di scaricare inutilmente i modelli ML della tua app, che possono essere di grandi dimensioni.

Avanzate: escludi i file binari di ML Kit inutilizzati

ML Kit è progettato per supportare le architetture a 32 e 64 bit. Se la tua app supporta solo la modalità a 32 bit, ad esempio perché utilizzi una libreria che fornisce solo file binari a 32 bit, puoi escludere le librerie ML Kit inutilizzate dalla compilazione:

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