手记

【备战春招】第4天 使用Bundletool测试AppBundle

程名称:移动端架构师


课程章节:新一代组件化动态化方案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打本地测试包进行验证,给以后的学习打下了基础。

期待后边的学习

















0人推荐
随时随地看视频
慕课网APP