layout: post title: “2024-06-22-项目重构技巧汇总.markdown” date: 2024-06-22 12:11:30 +0800

  1. 当下层依赖上层如何解耦
    • 需要的值一般是普通值或者符合约定的对象
    • 普通的int,String等 可以在最底层的aar中设置get和set,运行时由顶层module提前set,这样底层的module 可以在使用时get
  2. 当主工程的资源文件需要下沉到其他module,如何快捷重构
    • 将其他module的build.gradle的namespace设置为和主项目相同 这样生成的R文件会同时包含主工程资源和module资源
    • 关闭[gradle.properties]的android.nonTransitiveRClass // Enables namespacing of each library’s R class android.nonTransitiveRClass=false 这样在开发时,编辑器中使用代码引用的资源就不会爆红,因为主工程build时,会主动增加aar中的资源
  3. 换肤功能

  4. 组件化优点
    • 团队分工合作
    • 更方便功能差异化出包
    • 降低项目耦合度,方便进行版本控制