Par défaut, l'IDE n'utilise pas de bundles d'applications pour déployer votre application dans un fichier périphérique local pour les tests
Voir bundletool commande
Pour la commande Debug apk,
bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
Pour la commande Release apk,
bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
--ks=/MyApp/keystore.jks
--ks-pass=file:/MyApp/keystore.pwd
--ks-key-alias=MyKeyAlias
--key-pass=file:/MyApp/key.pwd
Editar:
J'ai utilisé les commandes suivantes pour tester ma version d'aab (j'espère que cela aidera d'autres personnes) :
-
Télécharger bundletool
du fichier jar de Dépôt Github (Dernière version > Actifs > fichier bundletool-all-version.jar). Renommez ce fichier en bundletool.jar
-
Générez votre fichier aab à partir d'Android Studio, par exemple : myapp-release.aab
-
Exécutez la commande suivante :
java -jar "path/to/bundletool.jar" build-apks --bundle=myapp-release.aab --output=myapp.apks --ks="/path/to/myapp-release.keystore" --ks-pass=pass:myapp-keystore-pass --ks-key-alias=myapp-alias --key-pass=pass:myapp-alias-pass
-
myapp.apks
sera généré
-
Assurez-vous que votre appareil est connecté à votre machine
-
Exécutez maintenant la commande suivante pour l'installer sur votre appareil :
java -jar "path/to/bundletool.jar" install-apks --apks=myapp.apks
Edit 2 :
Si vous devez extraire un seul .apk
à partir du fichier .aab
vous pouvez ajouter un paramètre supplémentaire --mode=universal
à la bundletool
commandement :
bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks \
--mode=universal \
--ks=/MyApp/keystore.jks \
--ks-pass=file:/MyApp/keystore.pwd \
--ks-key-alias=MyKeyAlias \
--key-pass=file:/MyApp/key.pwd
et exécute
unzip -p /MyApp/my_app.apks universal.apk > /MyApp/my_app.apk
cela générera un seul a /MyApp/my_app.apk
un fichier qui peut être partagé et installé par n'importe quel installateur d'applications pour appareils.
3 votes
Les réponses fournies ci-dessous ne parlent que de la façon de générer un fichier APKS, ce qui est directement issu de la documentation de bundletool. Quelqu'un a-t-il trouvé un moyen d'obtenir un fichier APK (et non APKS) à partir d'un bundle ?
0 votes
@CaptainForge ma réponse fait exactement cela ! stackoverflow.com/a/57149405/5284155