Installa Android App Bundle sul dispositivo


113

Ho creato il mio progetto utilizzando il nuovo formato Android App Bundle. Con i file APK, posso scaricare l'APK sul mio dispositivo, aprirlo e installare immediatamente l'app. Ho scaricato la mia app come bundle (formato .aab) e il mio Nexus 5X con Android 8.1 non riesce ad aprire il file. C'è un modo per installare AAB sui dispositivi nello stesso modo conveniente degli APK?


2
Sembra che siano necessari alcuni passaggi in più rispetto a un semplice apk: developer.android.com/guide/app-bundle/test .
Mike M.

Risposte:


108

Risposta breve:

Non direttamente.

Risposta più lunga:

Android App Bundles è un formato di pubblicazione. I dispositivi Android richiedono .apkfile per installare le applicazioni.

Il PlayStore o qualsiasi altra fonte da cui stai installando deve estrarre gli apk dal bundle, firmarli tutti e quindi installarli in modo specifico per il dispositivo di destinazione.

La conversione da .aab a .apk viene eseguita tramite bundletool .

Puoi utilizzare la condivisione interna delle app per caricare una build debuggabile della tua app nel Play Store e condividerla con i tester.


In questo caso utilizzeremmo l'opzione Build bundle, non il bundle firmato considerando che non possiamo pubblicare app di debug sul Play Store
Oush

Lo farei principalmente per i test locali.
keyboardsurfer

3
Il rilascio (invece dei file sorgente) di bundletool è qui: github.com/google/bundletool/releases
Kari

Attualmente è la risposta sbagliata, vedere altre risposte per creare il apksfile.
CoolMind

1
@ericn La "pubblicazione" iniziale di un'app sta attraversando il normale processo. Qualsiasi condivisione interna di app che esegui in seguito non dovrebbe essere bloccata dalle recensioni.
Keyboardsurfer il

52

Installando aab direttamente dal dispositivo, non sono riuscito a trovare un modo per farlo.

Ma c'è un modo per installarlo tramite la riga di comando utilizzando la seguente documentazione Puoi installare apk su un dispositivo tramite BundleTool

Secondo il commento di "@Albert Vila Calvo", ha notato che per installare bundletools usando HomeBrew usa brew install bundletool

Ora puoi installare gli apk estratti dal file aab e installarli su un dispositivo

Estrazione dei file apk dal comando successivo

java -jar bundletool-all-0.3.3.jar build-apks --bundle = bundle.aab --output = app.apks --ks = my-release-key.keystore --ks-key-alias = alias - -ks-pass = pass: password

Argomenti:

  • --bundle -> File Android Bundle .aab
  • --output -> Destinazione e nome del file per il file apk generato
  • --ks -> File keystore utilizzato per generare il bundle Android
  • --ks-key-alias -> Alias ​​per il file keystore
  • --ks-pass -> Password per il file Alias ​​(si prega di notare il prefisso "pass" prima del valore della password)

Quindi avrai un file con estensione .apks Quindi ora devi installarlo su un dispositivo

java -jar bundletool-all-0.6.0.jar install-apks --adb = / android-sdk / platform-tools / adb --apks = app.apks

Argomenti:

  • --adb -> Percorso del file adb
  • --apks -> Il file Apks deve essere installato

25
Se si utilizza Mac è possibile installare Bundletool con Homebrew: brew install bundletool. Quindi esegui i comandi in questo modo:bundletool build-apks --bundle=./app/release/app.aab --output=./app/release/app.apks
Albert Vila Calvo

3
--ks-pass = pass: password specifica la password per il keystore. Per specificare la password per il file di chiavi, utilizzare --key-pass = pass: password
smitty1

Sto affrontando lo stesso problema, ho seguito i passaggi che hai descritto, tuttavia, quando l'app è installata sul mio dispositivo Android, non riesco ad aprirla (apre automaticamente la chiusura)
aName

Grazie! --key-pass=pass:... è richiesto, ma stranamente una password non è corretta, quindi devo digitarla manualmente. Dopo ... install-apks --adb=...aver scritto: "Gli APK sono stati estratti nella directory: ...", ma quella cartella non esiste e non si installa sul dispositivo.
CoolMind

ESEMPIO: C:\Users\Aterr\Desktop\hack>java -jar "C:\Users\Aterr\Desktop\hack\bundletool-all-0.10.3.jar" install-apks --adb="C:\Users\Aterr\AppData\Local\Android\Sdk\platform-tools\adb.exe" --apks="C:\Users\Aterr\Desktop\hack\extractedapks.apks"
Choletski

24

Non è possibile installare app pacco [NAME].aabdirettamente al dispositivo Android, perché è la pubblicazione di formato, ma non c'è modo per estrarre la richiesta apkda bundlee installarlo a voi dispositivo, il processo è il seguente

  1. Scarica bundletool da qui
  2. eseguilo nel tuo terminale,
java -jar bundletool.jar build-apks --bundle=bundleapp.aab --output=out_bundle_archive_set.apks
  1. L'ultimo passaggio genererà un file denominato come out_bundle_archive_set.apks, rinominalo out_bundle_archive_set.ziped estrai il file zip, salta nella cartella out_bundle_archive_set > standalones, dove vedrai un elenco di tutti gli apk

Ecco il riferimento degli sviluppatori Android per il collegamento degli strumenti in bundle

riferimento per sviluppatori Android



@CoolMind la chiave di firma e le password sono quando si desidera creare il set di apk firmato fuori dal pacchetto e si desidera distribuire l'apk sul dispositivo, controllare la risposta aggiornata
Ali Tamoor

Il terzo passaggio è davvero necessario, grazie mille.
Dhiren

non ci sono cartelle nammed standalone, invece ci sono suddivisioni nammed
Gopal Singh Sirvi

16

Per MAC:

brew install bundletool
bundletool build-apks --bundle=./app.aab --output=./app.apks
bundletool install-apks --apks=app.apks

Ho appena fatto il lavoro senza alcun problema. Hai salvato la giornata!
asozcan

dopo che il terzo terminale di comando ha mostrato un percorso per l'app, ma la cartella non è disponibile
Furquan

1
@ Furquan, quel percorso visualizzato è il percorso nel tuo dispositivo connesso. Il comando installa l'apk sul tuo dispositivo.
Bijoy Thangaraj

6

Se desideri installare l'apk dal tuo aab al tuo dispositivo a scopo di test, devi modificare la configurazione prima di eseguirlo sul dispositivo connesso.

  1. Vai a Modifica configurazioni
    inserisci qui la descrizione dell'immagine
  2. Seleziona il menu a discesa Distribuisci e cambialo da "Apk predefinito" a "APK da app bundle".inserisci qui la descrizione dell'immagine
  3. Applica le modifiche e quindi eseguilo sul dispositivo connesso. Il tempo di costruzione aumenterà dopo aver apportato questa modifica.

Questo installerà un apk direttamente sul dispositivo connesso da aab.


1
Questo mi ha aiutato a replicare un bug che appare solo nella build di rilascio. Si scopre che il bug appare quando viene installato da AAB. Molte grazie.
Cerlin

Giusto per chiarire, presumo che le istruzioni e gli screenshot provengano da Android Studio? [Sto usando Xamarin, non Android Studio. Mi rendo conto che la maggior parte degli sviluppatori utilizza Android Studio.]
ToolmakerSteve

Sì, le istruzioni e gli screenshot provengono da Android Studio 3.6.3.
Kartikeya_M

0

No, se stai eseguendo il debug di un'app senza altri utenti, utilizza il menu Build> Build APK (s) in Android Studio o eseguilo nel tuo dispositivo / emulatore, l' apk della versione di debug verrà installato automaticamente. Se stai eseguendo il debug di un'app con altri, utilizza il menu Compila> Genera APK firmato ... Se vuoi pubblicare la versione beta usa Google Play Store. I tuoi APK saranno in app\build\outputs\apk\debuge app\releasecartelle.



0

Usa (su Linux): cd android ./gradlew assemblyRelease | assemblyDebug

Per ogni caso viene generato un APK non firmato (per debug o test)

NOTA: in Windows, sostituire l'eseguibile gradle per gradlew.bat

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.