我使用新的Android App Bundle格式构建了我的项目。使用APK文件,我可以将APK下载到我的设备,打开它,然后立即安装应用程序。我将我的应用程序作为捆绑包(.aab格式)下载,运行Android 8.1的Nexus 5X无法打开该文件。有没有办法以与APK相同的方式在设备上安装AAB?
答案 0 :(得分:24)
简答:否
更长的答案:
Android App Bundles是一种发布格式。 Android设备需要.apk文件来安装应用程序。
PlayStore或您正在安装的任何其他来源需要从捆绑包中提取apks,对每个来源进行签名,然后安装特定于目标设备的API。
从.aab到.apk的转换是通过bundletool
完成的答案 1 :(得分:17)
对于MAC:
brew install bundletool
bundletool build-apks --bundle=./app.aab --output=./app.apks
bundletool install-apks --apks=app.apks
答案 2 :(得分:10)
直接从设备安装aab,我找不到解决方法。 但是有一种方法可以使用以下documentation通过命令行安装它:您可以通过BundleTool将apk安装到设备上 现在,您可以安装aab文件中的解压缩apk并将其安装到设备中
通过下一个命令提取apk文件
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:密码
参数:
--bundle-> Android Bundle .aab文件
--output->生成的apk文件的目标和文件名
--ks->用于生成Android捆绑包的密钥库文件
--ks-key-alias->密钥库文件的别名
--ks-pass->别名文件的密码(请注意密码值前的“ pass”前缀)
然后您将拥有一个扩展名为.apks的文件 所以现在您需要将其安装到设备上
java -jar bundletool-all-0.6.0.jar install-apks --adb = / android-sdk / platform-tools / adb --apks = app.apks
参数:
--adb-> adb文件的路径
--apks->需要安装Apks文件
答案 3 :(得分:9)
如果要从aab将apk安装到设备中以进行测试,则需要先编辑配置,然后才能在连接的设备上运行它。
这将直接在与aab连接的设备上安装apk。
答案 4 :(得分:2)
您无法将应用程序包[NAME].aab
直接安装到android设备,因为它是发布格式,但是有一种方法可以从apk
中提取所需的bundle
并将其安装到您的设备上,过程如下
java -jar bundletool.jar build-apks --bundle=bundleapp.aab --output=out_bundle_archive_set.apks
out_bundle_archive_set.apks
的文件,只需将其重命名为out_bundle_archive_set.zip
并解压缩该zip文件,然后跳转到文件夹out_bundle_archive_set > standalones
中,您将在其中看到所有文件的列表。 apks 答案 5 :(得分:0)
不,如果您正在调试没有其他用户的应用,请使用构建>在Android Studio中构建APK(s)菜单或在您的设备/模拟器中执行它们调试版apk 将自动安装。如果您正在与其他人调试应用,请使用构建>生成签名APK ... 菜单。如果您要发布测试版,请使用Google Play商店。您的APK将位于app\build\outputs\apk\debug
和app\release
个文件夹中。
答案 6 :(得分:0)
是的,您可能需要使用以下Google工具: https://github.com/google/bundletool
答案 7 :(得分:-1)
使用(在Linux上): cd android ./gradlew assemblyRelease | assemblyDebug
为每种情况生成一个未签名的APK(用于调试或测试)
注意:在Windows上,将gradle可执行文件替换为 gradlew.bat