Android组件化的过程和文档记录
- 单独开发,单独调试,动态修改gradle配置【done】
- 页面跳转,使用第三方ARouter【done】
- 组件的AndroidManifest.xml,单独调试和发布阶段使用同一个配置,动态删除单独调试的主入口和应用图标。增加应用层调试模块,组件不再单独提供调试功能【done】
- 代码隔离,项目架构向下依赖【done】
- 应用层,依赖复合组件或基础组件,尽量不依赖基础库
- 组件层,基础组件尽量不相互依赖,需要有依赖时,沉淀到基础层;复合组件依赖基础组件,不要依赖同层的复合组件
- 基础层,provider依赖代理库和基础库,代理库依赖基础库
- 资源冲突问题,开发过程中规避此问题,手动添加模块前缀【done】
- 打包AAR,要将依赖都打入包中【todo】
- implementation 模块内使用,其他模块无法访问
- api 参与编译和打包,都可以访问
- compileOnly 只在编译时有效,不会参与打包
- runtimeOnly 只参与打包,编译时不会参与,适合做代码隔离