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 ML Kit on-device, valuta la possibilità di seguire i consigli in questa pagina per ridurre le dimensioni di download dell'app.

Creare l'app come Android App Bundle

Sviluppa ed esegui il deployment della tua app come Android App Bundle in modo che Google Play possa generare automaticamente APK per densità di schermo, architetture CPU e lingue specifici. Gli utenti dovranno scaricare solo gli APK corrispondenti alla configurazione del dispositivo e, soprattutto, gli utenti dovranno scaricare solo le librerie di codice native corrispondenti all'architettura del loro dispositivo.

Avanzato: spostare funzionalità ML facoltative nei moduli di funzionalità dinamiche

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

Per consentire il funzionamento delle funzionalità ML Kit in un modulo di funzionalità on demand, nel file build.gradle dell'APK di base, includi la dipendenza della libreria del 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 potrebbero essere di grandi dimensioni.

Avanzata: escludi i programmi binari di ML Kit non utilizzati

ML Kit supporta architetture sia a 32 che a 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 build:

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