我使用新的Android App Bundle格式构建我的项目。通过APK文件,我可以将APK下载到我的设备上,打开它,并立即安装应用程序。aab格式),我的Nexus 5X运行Android 8.1无法打开该文件。有没有什么方法可以像apk一样方便地在设备上安装aab ?
当前回答
直接从设备上安装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文件
其他回答
直接从设备上安装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
Windows 11:
C:\dev\bundletool-all-1.9.1\bundletool.jar build-apks——bundle=app-release。= app-release.aab艺术展——输出。apk——模式=普遍
PS C:/folder-with-aab-file> ren app-release.aabapk app-release.aab.apks.zip
解压zip文件后,apk文件的名称为:universal.apk
如果你现在使用的是Maui, Visual Studio 2022只创建AAB文件;但是,您可以从命令行创建APK。
更改目录到你的项目所在的位置并运行这个:
dotnet publish -f:net6.0-android -c:Release /p:AndroidSigningKeyPass=blah
简短的回答:
不直接。
再答:
Android应用程序捆绑是谷歌Play Store上应用程序的默认发布格式。但Android设备需要.apk文件来安装应用程序。
Play Store或你正在安装的任何其他源将从包中提取apks,签名每个apks,然后将它们安装到特定的目标设备。
从。aab到。apk的转换是通过bundletool完成的。
你可以使用内部应用程序共享将应用程序的可调试构建上传到Play Store,并与测试人员共享。
推荐文章
- Manifest合并失败:uses-sdk:minSdkVersion 14
- 为什么Android工作室说“等待调试器”如果我不调试?
- 如何检查我的EditText字段是否为空?
- Android从图库中选择图像
- 后台任务,进度对话框,方向改变-有任何100%工作的解决方案吗?
- Android:垂直对齐多行EditText(文本区域)
- Android无尽列表
- Android room persistent: AppDatabase_Impl不存在
- 错误:执行失败的任务':app:compileDebugKotlin'。>编译错误。详细信息请参见日志
- 在Android中使用URI生成器或使用变量创建URL
- 缩放图像以填充ImageView宽度并保持纵横比
- 列表视图的自定义适配器
- 在Android中设置TextView span的颜色
- 如何以编程方式在RelativeLayout中布局视图?
- Android Facebook集成无效键散列