Android      Android工程组件化配置   
文章目录  [隐藏]



示例代码:https://gitee.com/vigiles/component-app-demo


业务比较庞杂的应用,通常开发团队也很大,人员众多。对业务进行梳理后划分为可独立的n个部分,每个部分由一个人或团队进行开发。开发中这个部分可以进行独立的运行及调试。
业务层有若干可独立的业务组件,业务组件直接没有依赖关系。业务层的组件有library和application两个状态。
基础功能层的组件之间也没有相互依赖;基础功能层供业务层引用。基础功能层组件只有library一个状态。

1.全局配置

包括依赖库,版本相关、app和业务模块id、等等。
配置文件 工程/build.gradle :


2.基础库组件配置

基础库组件供业务组件引入,以统一整个工程使用的依赖库的版本,及统一一些约束条件。通常没有代码,AndroidManifest.xml是空的。
配置文件 工程/基础功能组件包/基础组件/build.gradle :


3.业务组件配置

业务组件即须要和用户进行交互的模块。根据开发状态,切换对应的AndroidManifest.xml。
业务组件通常是Phone Tablet模块,而基础功能组件则是Android Library模块或。
业务组件配置文件 工程/业务组件包/业务组件/build.gradle :

【注意】
     apply plugin: 'com.jakewharton.butterknife'
     annotationProcessor extend.lib.butterknife_compiler
要在每个用到butterknife的子module里配置。
同时,通常在adapter里不使用butterknife加载item的layout,所以adapter里判断控件id时,使用if(R.id.x == v.getID()),替换switch-case。

4.工程结构

路由模块可以自己开发,也有第三方如阿里巴巴的ARouter。上文代码即引入的arouter,用于业务组件之间的跳转。
整个工程配置好后,就可以结合git,授权每个团队进行自己的模块开发。



- end

承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设