问题
I built my project using the new Android App Bundle format. With APK files, I can download the APK to my device, open it, and immediately install the app. I downloaded my app as a bundle (.aab format) and my Nexus 5X running Android 8.1 can't open the file. Is there any way to install AABs on devices in the same convenient manner as APKs?
回答1:
Short answer: No
Longer answer:
Android App Bundles is a publishing format. Android devices require .apk files to install applications.
The PlayStore or any other source that you're installing from needs to extract apks from the bundle, sign each one and then install them specific to the target device.
The conversion from .aab to .apk is done via bundletool
回答2:
Installing the aab directly from the device, I couldn't find a way for that. But there is a way to install it through your command line using the following documentation You can install apk to a device through BundleTool You can now install extract apks from aab file and install it to a device
Extracting apk files from through the next command
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
Arguments:
--bundle -> Android Bundle .aab file
--output -> Destination and file name for the generated apk file
--ks -> Keystore file used to generate the Android Bundle
--ks-key-alias -> Alias for keystore file
--ks-pass -> Password for Alias file (Please note the 'pass' prefix before password value)
Then you will have a file with extension .apks So now you need to install it to a device
java -jar bundletool-all-0.6.0.jar install-apks --adb=/android-sdk/platform-tools/adb --apks=app.apks
Arguments:
--adb -> Path to adb file
--apks -> Apks file need to be installed
回答3:
You cannot install app bundle [NAME].aab
directly to android device because it is publishing format, but there is way to extract the required apk
from bundle
and install it to you device, the process is as follow
- Download app bundle from here
- run this in you terminal,
java -jar bundletool.jar build-apks --bundle=bundleapp.aab --output=out_bundle_archive_set.apks
- Last step will generate a file named as
out_bundle_archive_set.apks
, just rename it toout_bundle_archive_set.zip
and extract the zip file, jump into the folderout_bundle_archive_set > standalones
, where you will seee a list of all the apks
There goes the reference from android developers for bundle tools link
回答4:
No, if you are debugging an app without other users use the Build > Build APK(s) menu in Android Studio or execute it in your device/emulator them the debug release apk will install automatically. If you are debugging an app with others use Build > Generate Signed APK... menu. If you want to publish the beta version use the Google Play Store. Your APK(s) will be in app\build\outputs\apk\debug
and app\release
folders.
回答5:
Use (on Linux): cd android ./gradlew assemblyRelease|assemblyDebug
An unsigned APK is generated for each case (for debug or testing)
NOTE: On Windows, replace gradle executable for gradlew.bat
回答6:
Yeah it's possible You need to use this Google tool: https://github.com/google/bundletool
来源:https://stackoverflow.com/questions/50419286/install-android-app-bundle-on-device