andorid项目组件化过程中需要了解的各项知识点记录
期望的组件架构(基础款)
- 第一层:App Module(壳工程,用来集成所有业务组件)
- 第二层:所有业务Module
- 第三层:Common Module
- 第四层:基础Module(image/network/log/util…)
组件依赖关系是上层依赖下层,修改频率是上层高于下层
application和library之间的动态切换
可以打成aar集中调试,发布组件的arr包 到公司的maven仓库,然后在壳工程中就使用implemention依赖就可以了,或打成apk独立调试
1 | //build.gradle |
各模块统一依赖
最直接的处理方式是,统一gradle文件,也就是所有的组件统一使用一个,除了一些特殊的依赖之外,其他的都放在统一的文件之中
可以参考此项目:
https://github.com/stewForAni/KotlinBox-WanAndroid
组件之间跳转与交互
ARouter:https://github.com/alibaba/ARouter
- 可以跳转
- 跳转拦截(登录检查)
- 依赖注入IProvider,暴露服务,具体查看github(组件之间数据共享或者功能调用,逻辑可以写在一个中间层),也可参考:https://juejin.cn/post/6881116198889586701#heading-18
- 获取Fragment
- 等等……
组件之间资源命名
1 | android { |
组件监听Application onCreate回调
使用AppLifeCycle插件
https://github.com/hufeiyang/Android-AppLifecycleMgr
参考文章:
https://juejin.cn/post/7142297951023415332
https://github.com/AbnerMing888/AndroidAssembly