我使用新的Android App Bundle格式构建我的项目。通过APK文件,我可以将APK下载到我的设备上,打开它,并立即安装应用程序。aab格式),我的Nexus 5X运行Android 8.1无法打开该文件。有没有什么方法可以像apk一样方便地在设备上安装aab ?
当前回答
这在我的mac电脑上很管用。 你需要使用一个叫做bundletool的工具,如果还没有使用brew安装,你可以安装它
brew install bundletool
执行该命令解压apks文件并将其存储在所需的位置
bundletool build-apks --bundle=path/to/app-release.aab --output=/path/to/output/app.apks --local-testing
在连接的Android设备上安装
bundletool install-apks --apks=/path/to/output/app.apks
我已经在这里的gist中记录了完整的命令和输出https://gist.github.com/maheshmnj/6f5debbfae2b8183d94ca789d081f026
其他回答
简短的回答:
不直接。
再答:
Android应用程序捆绑是谷歌Play Store上应用程序的默认发布格式。但Android设备需要.apk文件来安装应用程序。
Play Store或你正在安装的任何其他源将从包中提取apks,签名每个apks,然后将它们安装到特定的目标设备。
从。aab到。apk的转换是通过bundletool完成的。
你可以使用内部应用程序共享将应用程序的可调试构建上传到Play Store,并与测试人员共享。
如果您想从您的aab安装apk到您的设备进行测试,那么您需要在连接的设备上运行它之前编辑配置。
进入编辑配置 选择Deploy下拉菜单,将“Default apk”改为“apk from app bundle”。 应用更改,然后在连接的设备上运行它。进行此更改后,构建时间将增加。
这将直接在从aab连接的设备上安装apk。
MAC:
brew install bundletool
bundletool build-apks --bundle=app-release.aab --output=app-release.apks
bundletool install-apks --apks=app-release.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
有没有什么方法可以像apk一样方便地在设备上安装aab ?
因为安装是由第三方应用程序或移动公司文件管理器像应用程序。 接下来的文件管理器版本将附带“aab”管理工具。
我在playstore上搜索了“android aab安装程序”,找到了一个。 故意不给它命名。 我安装的那个,在线解压的那个, 但在那之后,这个应用程序无法自行安装这个提取的应用程序(在我的mi [miui]设备上)。 但是这个应用程序将在线提取的apk保存在手机内存中,从那里我可以安装它。 记住: 谷歌的“文件”应用程序无法安装这个apk但是我的系统(内置)文件管理器能够安装。
推荐文章
- 模块是用不兼容的Kotlin版本编译的。其元数据的二进制版本为1.5.1,预期版本为1.1.15
- 如何在Android工作室添加“libs”文件夹?
- 使用什么api来绘制其他应用程序(如Facebook的Chat Heads)?
- getDefaultSharedPreferences和getSharedPreferences的区别
- 如何模拟按钮点击使用代码?
- Android Webview给出net::ERR_CACHE_MISS消息
- Parcelable遇到IOException写入序列化对象getactivity()
- 如何在Android中动态更改菜单项文本
- 如何将Base64字符串转换为位图图像,以显示在一个ImageView?
- 新版本的Android模拟器问题-模拟器进程已终止
- 没有与请求版本匹配的NDK版本
- 如何将一个颜色整数转换为十六进制字符串在Android?
- 格式浮动到小数点后n位
- 移除一个onclick监听器
- 如何圆形图像与滑翔图书馆?