我使用新的Android App Bundle格式构建我的项目。通过APK文件,我可以将APK下载到我的设备上,打开它,并立即安装应用程序。aab格式),我的Nexus 5X运行Android 8.1无法打开该文件。有没有什么方法可以像apk一样方便地在设备上安装aab ?
当前回答
使用(在Linux上): cd安卓 。/ gradlew assemblyRelease | assemblyDebug
为每个用例生成一个无符号APK(用于调试或测试)
注意:在Windows上,将gradle可执行文件替换为gradlew.bat
其他回答
MAC:
brew install bundletool
bundletool build-apks --bundle=app-release.aab --output=app-release.apks
bundletool install-apks --apks=app-release.apks
使用(在Linux上): cd安卓 。/ gradlew assemblyRelease | assemblyDebug
为每个用例生成一个无符号APK(用于调试或测试)
注意:在Windows上,将gradle可执行文件替换为gradlew.bat
如果您想从您的aab安装apk到您的设备进行测试,那么您需要在连接的设备上运行它之前编辑配置。
进入编辑配置 选择Deploy下拉菜单,将“Default apk”改为“apk from app bundle”。 应用更改,然后在连接的设备上运行它。进行此更改后,构建时间将增加。
这将直接在从aab连接的设备上安装apk。
直接从设备上安装aab,我找不到办法。
但是有一种方法可以通过命令行安装它,使用以下文档
根据“@Albert Vila Calvo”的评论,他指出要使用HomeBrew安装捆绑工具,请使用brew install bundletool
您现在可以从aab文件中安装extract apks并将其安装到设备中
通过下一个命令提取apk文件
Java -jar bundletool-all-0.3.3.jar build-apks——bundle=bundle。艺术展——输出=应用。apk, ks = my-release-key。密钥库——ks-key-alias=别名——ks-pass=pass:密码
参数:
——bundle -> Android bundle .aab文件 ——output ->生成的apk文件的目标和文件名 ——ks ->用于生成Android Bundle的Keystore文件 ——ks-key-alias -> keystore文件的别名 ——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文件
对于那些想要在所有android设备上运行的universal.apk的人:
brew install bundletool
bundletool build-apks --mode universal --bundle ./app-release.aab --output ./app.apks
mv app.apks app.zip
unzip app.zip
现在,你可以得到你的universal。apk
推荐文章
- 改变开关的“开”色
- 以编程方式将EditText的输入类型从PASSWORD更改为NORMAL,反之亦然
- 如何在隐藏和查看密码之间切换
- 在Android上调整一个大的位图文件到缩放输出文件
- 如何更改Android版本和代码版本号?
- Android Studio突然无法解析符号
- 应用程序重新启动而不是恢复
- 如何设置整个应用程序在纵向模式?
- Android中文本的阴影效果?
- 以编程方式设置TextView的布局权重
- Android -如何覆盖“后退”按钮,所以它不完成()我的活动?
- 如何从通知点击发送参数到一个活动?
- 导航目标xxx对于这个NavController是未知的
- 使用ConstraintLayout均匀间距的视图
- 文件google-services错误。模块根文件夹中缺少Json。谷歌服务插件没有它就不能正常工作。