Un Android App Bundle è un formato di pubblicazione che include tutto il codice e le risorse compilati della tua app e delega a Google Play la generazione e la firma degli APK.
Google Play utilizza l'app bundle per generare e pubblicare APK ottimizzati per ogni configurazione dispositivo, in modo che per eseguire l'app vengano scaricati solo il codice e le risorse necessari per un dispositivo specifico. Non devi più creare, firmare e gestire più APK per ottimizzare il supporto di diversi dispositivi e gli utenti ottengono download più piccoli e ottimizzati.
La maggior parte dei progetti di app non richiederà molto impegno per creare app bundle che supportino la pubblicazione di APK ottimizzati. Se già organizzi il codice e le risorse della tua app secondo le convenzioni stabilite, crea Android App Bundle firmati utilizzando Android Studio o utilizzando la riga di comando e caricali su Google Play, la pubblicazione di APK ottimizzati diventa un vantaggio automatico.
Quando utilizzi il formato app bundle per pubblicare la tua app, puoi anche usufruire facoltativamente di Play Feature Delivery, che ti consente di aggiungere moduli delle funzionalità al tuo progetto di app. Questi moduli contengono funzionalità e risorse incluse nell'app solo in base alle condizioni specificate o disponibili in un secondo momento in fase di runtime per il download tramite Play Core Library.
Gli sviluppatori di giochi che pubblicano le loro app con gli app bundle possono utilizzare Play Asset Delivery: la soluzione di Google Play per la pubblicazione di grandi quantità di asset di gioco che offre agli sviluppatori metodi di pubblicazione flessibili e prestazioni elevate.
Guarda il seguente video per una panoramica dei motivi per cui dovresti pubblicare la tua app utilizzando Android App Bundle.
Limitazione delle dimensioni di download compresse
La pubblicazione con gli Android App Bundle consente agli utenti di installare la tua app con i download più piccoli possibili e aumenta le dimensioni di download compresse. ovvero, quando un utente scarica la tua app, le dimensioni totali degli APK compressi necessari per installare la tua app (ad esempio, l'APK di base + gli APK di configurazione) non devono superare i 4 GB. Anche i download successivi, come il download on demand di un modulo di funzionalità (e dei relativi APK di configurazione), devono rispettare questa limitazione delle dimensioni di download compresse. I pacchetti di asset non contribuiscono a questo limite di dimensioni, ma sono soggetti ad altre limitazioni di dimensioni.
Se Play Console rileva che uno dei possibili download della tua app o delle sue funzionalità on demand supera i limiti di dimensione massimi, riceverai un errore.
Tieni presente che Android App Bundle non supporta i file di espansione APK (*.obb). Pertanto, se si verifica questo errore durante la pubblicazione dell'app bundle, utilizza
una delle seguenti risorse per ridurre le dimensioni di download degli APK compressi:
- Assicurati di attivare tutti gli APK di configurazione impostando
enableSplit = trueper ogni tipo di APK di configurazione. In questo modo gli utenti scaricano solo il codice e le risorse necessari per eseguire l'app sul proprio dispositivo. - Assicurati di ridurre le dimensioni dell'app rimuovendo il codice e le risorse inutilizzati.
- Segui le best practice per ridurre ulteriormente le dimensioni dell'app.
- Valuta la possibilità di convertire le funzionalità utilizzate solo da alcuni utenti in moduli delle funzionalità che la tua app può scaricare in un secondo momento, on demand. Tieni presente che questa operazione potrebbe richiedere un refactoring dell'app, quindi assicurati di provare prima gli altri suggerimenti descritti.
Altre considerazioni
Di seguito sono riportati i problemi noti durante la creazione o la pubblicazione dell'app con gli Android App Bundle. Se riscontri problemi non ancora descritti qui, segnala un bug.
- Le installazioni parziali di app caricate lateralmente, ovvero app che non vengono installate utilizzando il Google Play Store e a cui mancano uno o più APK split richiesti, non riescono su tutti i dispositivi certificati da Google e sui dispositivi con Android 10 (livello API 29) o versioni successive. Quando scarichi l'app tramite il Google Play Store, Google si assicura che tutti i componenti richiesti dell'app siano installati.
Se utilizzi strumenti che modificano dinamicamente le tabelle delle risorse, gli APK generati dagli app bundle potrebbero comportarsi in modo imprevisto. Pertanto, quando crei un app bundle, ti consigliamo di disattivare questi strumenti.
È possibile configurare proprietà nella configurazione di build di un modulo delle funzionalità che sono in conflitto con quelle dei moduli di base (o di altri moduli). Ad esempio, puoi impostare
buildTypes.release.debuggable = truenel modulo base e impostarlo sufalsein un modulo della funzionalità. Questi conflitti potrebbero causare problemi di build e runtime. Tieni presente che, per impostazione predefinita, i moduli delle funzionalità ereditano alcune configurazioni di build dal modulo di base. Assicurati quindi di capire quali configurazioni devi mantenere e quali devi omettere nella configurazione di build del modulo delle funzionalità.
Risorse aggiuntive
Per saperne di più sugli Android App Bundle, consulta le seguenti risorse.
Post del blog
- Creare il tuo primo app bundle
- Cosa significa un nuovo formato di pubblicazione per il futuro di Android
- Nuove funzionalità per aiutarti a sviluppare, rilasciare e far crescere la tua attività su Google Play
- Gli ultimi aggiornamenti di Android App Bundle, inclusa l'API delle lingue aggiuntive
- Patchwork Plaid — A modularization story
- Segui Babbo Natale con Google: passaggio a un Android App Bundle
- Strumenti per sviluppatori su Play Console
Video
- Tutto quello che devi sapere sulla firma dell'app di Google Play
- Creare il tuo primo app bundle
- App bundle: test con Bundletool e Play Console
- Pubblicazione personalizzabile con l'app bundle e facilità di condivisione dei build di test
- Nuovi strumenti per ottimizzare le dimensioni dell'app e aumentare le installazioni su Google Play