课程名称:移动端架构师
课程章节:新一代组件化动态化方案App Bundle
课程讲师:CrazyCodeBoy LovelyChubby
课程内容:
使用AndroidStudio生成.aab文件
使用Bundletool生成.apks应用集
java -jar bundletool.jar build-apks --bundle=app-debug.aab --output=out.apks --ks=key.js --ks-pass=pass:123456 --ks-key-alias=test
install-apks部署安装
java -jar bundletool.jar install-apks --apks=out.apks
➜ adb shell pm path org.devio.as.proj.main
//查看设备上已安装的应用的apk路径
//可以看到我的设备上安装了4个apk ,一个主apk(包含了所有的dex),其余三个是armv7a.apk 动态库文件,xxhdpi.apk资源,split_config.zh.apk 中文语言
package:/data/app/org.devio.as.proj.main-l9tykyODowTyWlUCWoDozw==/base.apk
package:/data/app/org.devio.as.proj.main-l9tykyODowTyWlUCWoDozw==/split_config.armeabi_v7a.apk
package:/data/app/org.devio.as.proj.main-l9tykyODowTyWlUCWoDozw==/split_config.xxhdpi.apk
package:/data/app/org.devio.as.proj.main-l9tykyODowTyWlUCWoDozw==/split_config.zh.apk
导出已安装的apk
adb pull /data/app/org.devio.as.proj.main-l9tykyODowTyWlUCWoDozw==/base.apk base.apk
生成全量apk
bundletool 只生成一个包含应用的所有代码和资源的 APK,以使该 APK 与应用支持的所有设备配置兼容,使用 universal 参数。
java -jar bundletool.jar build-apks --bundle=app.aab --output=all.apks --mode=universal
实际会节省多少大小?
现在,您将节省应用程序的大小这句话说得很好,但是对于您将实际节省的内容,有一些指导是很有帮助的。据 Google 称,平均而言,使用 App Bundle 格式的应用程序的大小要小 20%-这意味着每次下载或更新应用程序时,所涉及的数据传输都要少 20%。
Google 还对 Play Store 中至少有 100 万下载量的所有应用程序进行了一些分析,他们发现:
当涉及到区域设置资源所使用的资源时,语言拆分将实现 95% 以上的节省。
(屏幕)密度拆分有助于在支持多种密度的应用中节省高达 45% 的成本
使用 native 库的应用程序在架构支持方面可以节省高达 20% 的成本
课程收获:
谢谢老师,老师讲解细致,通俗易懂。这一节学的是如何使用AppBundle打本地测试包进行验证,给以后的学习打下了基础。
期待后边的学习
共同学习,写下你的评论
评论加载中...
作者其他优质文章