Skip to content

android-component/AndroidComponent

 
 

Repository files navigation

AndroidComponent

Android组件化的过程和文档记录

组件化需解决的问题

  • 单独开发,单独调试,动态修改gradle配置【done】
  • 页面跳转,使用第三方ARouter【done】
  • 组件的AndroidManifest.xml,单独调试和发布阶段使用同一个配置,动态删除单独调试的主入口和应用图标。增加应用层调试模块,组件不再单独提供调试功能【done】
  • 代码隔离,项目架构向下依赖【done】
    • 应用层,依赖复合组件或基础组件,尽量不依赖基础库
    • 组件层,基础组件尽量不相互依赖,需要有依赖时,沉淀到基础层;复合组件依赖基础组件,不要依赖同层的复合组件
    • 基础层,provider依赖代理库和基础库,代理库依赖基础库
  • 资源冲突问题,开发过程中规避此问题,手动添加模块前缀【done】
  • 打包AAR,要将依赖都打入包中【todo】

Gradle资源依赖方式

  • implementation 模块内使用,其他模块无法访问
  • api 参与编译和打包,都可以访问
  • compileOnly 只在编译时有效,不会参与打包
  • runtimeOnly 只参与打包,编译时不会参与,适合做代码隔离