Converti apk in aab

Converti APK in AAB

Crea un Android App Bundle pubblicabile dal progetto originale, non un APK finito.

Converti i file APK online

Non abbiamo ancora un convertitore online dedicato per APK in AAB, ma puoi convertire i file APK online in questi formati:

Come convertire apk in aab file

Google Play richiede gli Android App Bundle per i nuovi caricamenti di app, quindi uno sviluppatore potrebbe aver bisogno di un AAB quando una build precedente esiste solo come APK. Un APK può essere installato direttamente, ma normalmente un AAB deve essere ricreato dal progetto Android originale o ricostruito localmente dall'APK.

Cos'è il formato APK

Un APK è un pacchetto applicativo Android che telefoni, tablet, dispositivi Android TV ed emulatori installano direttamente. È un archivio basato su ZIP contenente codice compilato, risorse, il manifest, asset, librerie native e informazioni sulla firma dell'APK.

Android Studio e Android Gradle Plugin generano APK tramite task Gradle come ./gradlew assembleRelease. Gli sviluppatori ricevono inoltre APK da build server, servizi di testing, estrazioni da dispositivi e distribuzioni esterne a Google Play. Un APK è un formato di installazione; un dispositivo Android non installa direttamente un AAB.

Cos'è il formato AAB

Un AAB, o Android App Bundle, è un pacchetto di pubblicazione contenente i moduli e le risorse compilati di un'app. Google Play lo elabora in APK specifici per il dispositivo, selezionando la densità dello schermo, le risorse linguistiche, l'architettura della CPU e le dynamic features necessarie, invece di distribuire tutto in un unico APK universale.

Questo può ridurre le dimensioni del download e abilita Google Play Feature Delivery e Play Asset Delivery. Un AAB viene normalmente prodotto da un progetto Android Studio o Gradle con ./gradlew bundleRelease, che generalmente crea app/build/outputs/bundle/release/app-release.aab. La release build deve avere una configurazione di firma valida prima di poter essere caricata.

Come creare un AAB dal progetto originale

  1. Apri il progetto in una versione compatibile di Android Studio e sincronizza le versioni di Gradle e Android Gradle Plugin. Usa le versioni richieste dal progetto invece di aggiornarle indiscriminatamente.
  2. Controlla l'application ID, il version code, le dipendenze della release, i product flavor, le librerie native, le dichiarazioni del manifest e la configurazione di firma.
  3. In Android Studio, seleziona Build → Generate Signed Bundle / APK, scegli Android App Bundle, seleziona la variante release e fornisci le credenziali del keystore e della key. In alternativa, esegui ./gradlew bundleRelease dalla directory del progetto.
  4. Recupera il risultato da app/build/outputs/bundle/release/. Un progetto multi-modulo potrebbe collocare il bundle nella directory di output del modulo pertinente.
  5. Convalida e testa il bundle con lo strumento ufficiale di Google, bundletool. Ad esempio, bundletool validate --bundle=app-release.aab ne verifica la struttura. Per creare APK installabili su un dispositivo connesso, esegui bundletool build-apks --bundle=app-release.aab --output=app.apks --connected-device, fornendo le opzioni del keystore richieste se bundletool deve firmare gli APK generati, quindi esegui bundletool install-apks --apks=app.apks.

Android Studio è l'opzione desktop appropriata perché conserva la configurazione Gradle, l'elaborazione delle risorse, la firma, le varianti di build e i moduli dynamic-feature. bundletool è l'utility a riga di comando di Google per convalidare, ispezionare, creare e installare set di APK da un AAB; non converte un APK finito arbitrario in un progetto sorgente o in un bundle equivalente.

Se è disponibile solo l'APK

Non esiste una conversione affidabile con un singolo comando da un APK finito a un AAB equivalente. La compilazione, l'elaborazione delle risorse, la riduzione del codice, la risoluzione delle dipendenze e la firma sono già state eseguite, e l'APK non contiene il progetto Gradle completo necessario per riprodurre questi passaggi.

Per un'applicazione di cui sei proprietario, la ricostruzione è possibile, ma si tratta di una nuova build e non di una conversione del formato del file:

  1. Decodifica le risorse e il manifest con apktool d app.apk -o decoded-app.
  2. Ispeziona il codice decompilato simile a Java o Kotlin con jadx-gui app.apk. L'output decompilato è solo di riferimento e di solito richiede correzioni sostanziali prima di poter essere compilato.
  3. Crea un progetto Android Studio e ripristina la struttura dei package, le risorse, gli asset, le dichiarazioni del manifest, le librerie native, le dipendenze, le impostazioni Gradle e tutti i moduli dynamic-feature necessari.
  4. Risolvi le differenze di compilazione e runtime, configura l'application ID e il version code corretti, quindi genera e firma il bundle release con ./gradlew bundleRelease.

I convertitori online generici da APK ad AAB non sono un sostituto adeguato per questo processo. Nessun servizio online affidabile può recuperare in modo attendibile il codice sorgente e la configurazione di build mancanti da un APK, e il caricamento di un APK può esporre codice proprietario, credenziali incorporate, certificati o dati dell'applicazione. Mantieni la ricostruzione in locale; usa Google Play Console solo per caricare e testare l'AAB risultante.

Limitazioni di compatibilità e pubblicazione

  • Un bundle ricostruito può comportarsi diversamente perché offuscamento, risorse rimosse, codice generato, impostazioni della build native e versioni delle dipendenze potrebbero non essere recuperabili dall'APK.
  • Un aggiornamento deve usare lo stesso application ID e un'identità di firma accettata per l'app esistente. Con Google Play App Signing, il caricamento deve utilizzare la upload key registrata; possedere un APK non fornisce l'autorizzazione a pubblicare un aggiornamento.
  • Un APK estratto da un dispositivo potrebbe essere solo uno split di un'app installata. Un'installazione completa può contenere APK split base, di configurazione e delle feature, quindi un singolo split estratto non può ricreare il bundle originale.
  • Un AAB è un formato di pubblicazione, non un normale formato per il sideloading. Per l'installazione diretta, crea un APK oppure usa bundletool per generare il set di APK appropriato dal bundle.
  • Testa l'output della release su versioni Android, densità dello schermo e architetture della CPU rappresentative, soprattutto dopo aver ricostruito librerie native o dynamic features.

Confronto formato: APK vs AAB

Come i formati APK e AAB si confrontano sulle proprietà più importanti per questa conversione.

Confronto dei formati APK e AAB
Proprietà .APK Android Package .AAB Android App Bundle
Standard aperto No No
Compressione Entrambi —
Dimensione tipica del file Medio Piccolo
Si apre in un browser web No No
Modifica successiva Non modificabile direttamente Non modificabile direttamente
Supporto metadata Base Base
Leggibile come testo semplice No No
Ideale per Incorporamento nelle applicazioni Incorporamento nelle applicazioni
Introdotto 2008 2018
Sviluppatore Google Google
Tipo MIME application/vnd.android.package-archive —