我想知道android studio 3.2中的use build bundle选项是什么
这是一张照片
最佳答案
什么是app bundle?
android应用程序包是一种新的上传格式,它包含了应用程序的所有编译代码和资源,但推迟了apk的生成和向google play的签名。
google play的新应用服务模型称为动态交付,然后使用你的应用包为每个用户的设备配置生成并提供优化的apk,因此他们只下载运行你的应用所需的代码和资源。您不再需要构建、签署和管理多个apk来支持不同的设备,用户可以获得更小、更优化的下载
应用程序包的使用
动态交付:
动态交付是google play的新应用服务模式,它使用你的应用包为每个用户的设备配置生成并提供优化的apk,因此他们只下载运行你的应用所需的代码和资源。例如,如果用户将英语设置为默认语言,则不需要其他语言字符串。
动态功能模块:
Dynamic feature modules允许您从应用程序的基本模块中分离某些功能和资源,并将它们包含在应用程序包中。通过动态交付,用户可以在安装了应用程序的基本apk之后,按需下载并安装这些组件。您可以使用Play Core Library在需要时下载这些模块。
左边是一个简单的应用程序,包括一个基本的apk(b)和一些配置apk(c)。右边是一个更复杂的应用程序,包含两个动态特性apk(d)和相应的配置apk(c),可按需下载。
不需要多个APK:
动态交付处理拆分的apk。动态交付的一个基本组件是android 5.0(api级别21)及更高版本上提供的split-apk机制。使用split-apks,google play可以将一个大型应用程序拆分成更小的、独立的包,这些包根据需要安装在用户的设备上。
优化apk内容的基础如下:
现场
筛网密度
CPU体系结构
可以找到更多信息here
较小的APK尺寸:
由于应用程序被分成了更小的部分,这意味着当用户下载你的应用程序时,它对他来说将是更小的。平均而言,使用应用程序捆绑包发布的应用程序的大小要小20%。
测试应用程序包
在您构建android应用程序包之后,您应该测试google play如何使用它生成apk,以及这些apk在部署到设备时的行为。有两种方法可以考虑测试应用程序包:
本地使用bundletool command line tool
通过google play byuploading your bundle to the Play Console并使用新的内部测试轨迹。
来源
Android official documentation
Codelabs
Medium blog post