Andorid App Bundle(本文不涉及动态交付模块)
什么是Android App Bundle:Google Play的新应用服务模式称为动态传递,然后使用您的应用包为每个用户的设备配置生成并提供优化的APK,因此他们只下载运行您的应用所需的代码和资源。您不再需要构建,签署和管理多个APK来支持不同的设备,用户可以获得更小,更优化的下载。
Debug模式下如何使用及测试:
1、AndroidStudio-->工具栏选择Build-->build bundle(s)/apk(s)-->buildbundle(s)
2、成功后会在app/build/outputs/bundle/debug目录下生成一份app.abb文件
3、通过bundleTool测试你的应用程序包(bundleToll下载地址:https://github.com/google/bundletool/releases)
4、为应用中包含的所有配置生成apk集(容器APK集存档,使用.apks作为文件扩展名)
bundletool build-apks --bundle = /MyApp/my_app.aab --output = /MyApp/my_app.apks
请注意,上面的命令会创建一组APK 未签名的 APK。如果要将APK部署到设备,还需要包含应用程序的签名信息,如下面的命令所示。
bundletool build-apks --bundle = /MyApp/my_app.aab --output = /MyApp/my_app.apks --ks = /MyApp/keystore.jks
--ks-pass = file:/MyApp/keystore.pwd
- ks-key-alias = MyKeyAlias
--key-pass = file:/MyApp/key.pwd
5、生成特定于设备的APK集
如果您不想为应用支持的所有设备配置构建一组APK,则可以使用该--connected-device选项构建仅定位已连接设备配置的APK,如下所示。(如果连接了多个设备,请通过包含标志来指定目标设备 。)--device-id=serial-id
bundletool build-apks--connected-device--bundle = / MyApp / my_app.aab --output = / MyApp / my_app.apks
6、生成一组APK后,bundletool可以将该组中正确的APK组合部署到连接的设备。
例如,如果您有连接的设备运行Android 5.0(API级别21)或更高版本,则bundletool推送在该设备上运行您的应用所需的基本APK,动态功能APK和配置APK。或者,如果您的已连接设备运行的是Android 4.4(API级别20)或更低版本,bundletool则会查找兼容的多APK并将其部署到您的设备。
要从APK集中部署您的应用,请使用该install-apks命令并使用该标志指定APK集的路径 ,如下所示。(如果连接了多个设备,请通过添加标志来指定目标设备。)--apks=/path/to/apks--device-id=serial-id
bundletool install-apks --apks = /MyApp/my_app.apks
Google官方链接:https://developer.android.com/studio/command-line/bundletool
https://developer.android.com/guide/app-bundle/