我使用新的Android App Bundle格式构建我的项目。通过APK文件,我可以将APK下载到我的设备上,打开它,并立即安装应用程序。aab格式),我的Nexus 5X运行Android 8.1无法打开该文件。有没有什么方法可以像apk一样方便地在设备上安装aab ?
当前回答
有没有什么方法可以像apk一样方便地在设备上安装aab ?
因为安装是由第三方应用程序或移动公司文件管理器像应用程序。 接下来的文件管理器版本将附带“aab”管理工具。
我在playstore上搜索了“android aab安装程序”,找到了一个。 故意不给它命名。 我安装的那个,在线解压的那个, 但在那之后,这个应用程序无法自行安装这个提取的应用程序(在我的mi [miui]设备上)。 但是这个应用程序将在线提取的apk保存在手机内存中,从那里我可以安装它。 记住: 谷歌的“文件”应用程序无法安装这个apk但是我的系统(内置)文件管理器能够安装。
其他回答
有没有什么方法可以像apk一样方便地在设备上安装aab ?
因为安装是由第三方应用程序或移动公司文件管理器像应用程序。 接下来的文件管理器版本将附带“aab”管理工具。
我在playstore上搜索了“android aab安装程序”,找到了一个。 故意不给它命名。 我安装的那个,在线解压的那个, 但在那之后,这个应用程序无法自行安装这个提取的应用程序(在我的mi [miui]设备上)。 但是这个应用程序将在线提取的apk保存在手机内存中,从那里我可以安装它。 记住: 谷歌的“文件”应用程序无法安装这个apk但是我的系统(内置)文件管理器能够安装。
这在我的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,我找不到办法。
但是有一种方法可以通过命令行安装它,使用以下文档
根据“@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
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件