另外一个重要的创举是支持组件的动态下发,后面会讲到,你可以将一些独立的模块在运行时安装,而不是一次性放到apk里面。这是组件化的一次伟大的创举。
App Bundle 中的组件
- Base Apk: base为基础模块,包括你业务逻辑中的代码,dex等基础,为主工程的apk
- Configuration Split Apk: 构造apk,区分的维度是Multiple Apks的划分。用来拼装Dynamic Feature Apks和Base Apk的配置。
- Dynamic Feature Apk: 动态特性Apk,这是组件化的一个好的新方案,通过动态下发模块来做到功能的动态更新
bundletool工具
当你选择将App打包成.aab(Android App Bundle)的后缀文件之后,如何测试你的Apk是否可用,bundletool工具正是用来处理这个aab文件的。
Github:https://github.com/google/bundletool
使用方法:https://developer.android.com/guide/app-bundle/test
bundletool是google推出的开源工具,使用方法十分简单,使用几行命令就可以获取出针对相应设备的Apk,也可以一键进行安装,签名等操作。Google Play也是使用bundletool来进行aab解包分发给不同的设备的。
兼容性问题
Api < 21的手机无法进行模块化,Google Play会对其进行Multiple Apks操作来进行下发操作。
当你创建一个Dynamic Module的时候,下图
上面有两个选项,一个文本框
- Enable on-demand: 是否启用按需下载,如果不启用,会直接打进Apk
- Fusing:熔断操作,是否安装到不支持按需下载的设备中
- Module title: 模块标题
对于动态组件的一些使用场景
语言包的动态下发
当Split 针对语言进行划分时候,用户下载的Apk仅仅只能下载下来一个Base Apk,包含他的当前系统语言,你可以将其他语言包作为Dynamic feature下发给用户,做到语言包的动态下发
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
最后,如果大伙有什么好的学习方法或建议欢迎大家在评论中积极留言哈,希望大家能够共同学习、共同努力、共同进步。
小编在这里祝小伙伴们在未来的日子里都可以 升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰!!
不论遇到什么困难,都不应该成为我们放弃的理由!
很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言,一定会认真查询,修正不足,谢谢。
里入手去学习
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言,一定会认真查询,修正不足,谢谢。