Converti AAB in APK online: cosa fa effettivamente questo strumento
L'Android App Bundle (.aab) è il formato che Google Play chiede agli sviluppatori di caricare, ma non è qualcosa che puoi installare su un telefono. Se disponi di un file .aab da un server di build, da una pipeline CI o da un collega, devi prima trasformarlo in un file .apk installabile. Questa pagina ti offre due cose per questo lavoro: uno Generatore di comandi da AAB a APK interattivo che scrive l'esatto comando bundletool per il tuo sistema operativo e uno Esplora file AAB che apre il bundle nel tuo browser in modo da poter vedere cosa c'è dentro prima di convertirlo.
La conversione stessa viene eseguita tramite bundletool ufficiale di Google, che è un programma Java. Poiché bundletool necessita del runtime Java e dell'accesso al tuo archivio di chiavi, la fase di creazione vera e propria avviene sul tuo computer, non sui nostri server. Il tuo file .aab non viene mai caricato da nessuna parte. Il builder rimuove semplicemente le congetture in modo da poter copiare un comando corretto e pronto per l'esecuzione invece di memorizzare i nomi dei flag.
AAB vs APK: perché non puoi semplicemente rinominare il file
Molte persone cercano come cambiare AAB in APK rinominando l'estensione e non funziona mai. Un .apk è un singolo pacchetto autonomo che Android può installare direttamente. Un .aab è un contenitore di pubblicazione: contiene il codice compilato e le risorse suddivise in moduli e si aspetta che Google Play o bundletool generino da esso gli APK finali ottimizzati per il dispositivo. Rinominare il file non decomprime quei moduli né firma nulla, quindi Android si rifiuta di installarlo. L'unico modo affidabile per convertire uno Pacchetto di app Android in APK è lasciare che bundletool crei il set APK per te.
Come convertire AAB in APK su Windows, Mac e Linux
I passaggi sono gli stessi su ogni piattaforma e cambia solo lo stile del percorso file, motivo per cui il generatore di comandi sopra ha uno switch Windows, macOS e Linux. Ecco il flusso completo dall'inizio alla fine:
- Installa Java JDK 8 o versione successiva. Esegui java -version in un terminale per confermare che Java è sul tuo PERCORSO.
- Scarica bundletool. Ottieni l'ultimo bundletool-all.jar dalla pagina delle versioni ufficiali di GitHub di Google.
- Crea il set APK. Punta bundletool sul tuo bundle e lascia che produca un archivio .apks: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
- Apri l'archivio .apks. È solo un file ZIP, quindi estrailo e al suo interno troverai universal.apk.
- Installa sul tuo dispositivo. Copia l'APK sul tuo telefono ed esegui il sideload oppure utilizza bundletool install-apks con un dispositivo connesso tramite USB.
APK universale e APK diviso: quale dovresti creare?
Se desideri un file da installare su qualsiasi telefono, utilizza --mode=universal. Questo crea un singolo APK universale dal tuo AAB che raggruppa ogni architettura della CPU, densità dello schermo e lingua in un unico pacchetto. È più grande, ma è l'opzione più semplice per testare, archiviare o condividere una build al di fuori del Play Store. Se elimini la modalità, bundletool produce invece APK divisi ritagliati per un dispositivo specifico, quindi vengono scaricati più piccoli ma devi installare insieme il set corrispondente. Per la maggior parte delle persone che hanno solo bisogno di convertire un file .aab per un'installazione rapida, l'APK universale è la scelta giusta.
Firma dell'APK ottenuto da un AAB
Android non installerà un APK a meno che non sia firmato. Per i test, bundletool può firmare automaticamente con una chiave di debug, che è esattamente ciò che fa l'opzione "Usa archivio chiavi di debug" nel builder. Se stai preparando una build di rilascio, ad esempio da distribuire sul tuo sito web, firmala con il tuo archivio chiavi compilando i campi percorso archivio chiavi, password archivio chiavi, alias chiave e password chiave. Il builder aggiunge quindi i flag --ks, --ks-pass, --ks-key-alias e --key-pass in modo che l'APK che ottieni porti la tua vera firma di produzione invece di una di debug usa e getta.
Errori comuni di bundletool e come risolverli
Due problemi si presentano ancora e ancora. Il messaggio "bundletool: comando non trovato" significa che hai provato a eseguire bundletool come se fosse un comando integrato. È un file JAR, quindi lo chiami sempre con java -jar bundletool-all.jar. L'errore "Nessuna chiave/certificato" significa che mancano i dettagli della firma: aggiungi --mode=universal per una build di test non firmata o fornisci i flag del tuo archivio chiavi come descritto sopra. La scheda Risoluzione dei problemi più in alto nella pagina copre molti di questi e AAB Explorer ti consente di verificare che il tuo pacchetto contenga effettivamente i moduli che ti aspetti prima di dedicare tempo al debug di un comando.
Quando avresti effettivamente bisogno di convertire un AAB?
I motivi più comuni sono testare una build di rilascio su un dispositivo reale prima della pubblicazione, consegnare una build a un tester che non utilizza Google Play, conservare una copia installabile della propria app per archivio o eseguire il QA su hardware che i test interni del Play Store non raggiungono. Qualunque sia il motivo, converti solo i bundle di app che hai il diritto di utilizzare, come le tue build o i bundle con cui hai un'autorizzazione chiara per lavorare.