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

Crea la tua app come Android App Bundle

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

Funzionalità avanzata: spostare caratteristiche ML facoltative in moduli di caratteristiche 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 questa funzionalità e le sue dipendenze ML Kit in un modulo di funzionalità dinamiche.

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

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

In questo modo, puoi evitare che gli utenti scarichino inutilmente i modelli ML della tua app, che possono essere di grandi dimensioni.

Funzionalità avanzata: escludere i file binari di ML Kit non utilizzati

ML Kit integra il supporto per 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 tua build:

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