最近公司研究将现有项目进行组件化的拆分,其实个人对于组件化并没有什么较为深刻的概念,在网上查阅一番资料后,进行如下总结。
1.引入com.luojilab.ddcomponent插件
引入com.luojilab.ddcomponent插件,来达到在编译时将需要依赖的库以library的形式依赖到主项目中的目的。先看该怎么引入。
1.1 在当前工程的build.gradle中,添加如下代码
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
//这一行是导入com.luojilab.ddcomponent插件的
classpath 'com.luojilab.ddcomponent:build-gradle:1.1.0
}
1.2 在作为模块的项目中使用上一步过程中引入的插件
在当前项目所有的模块中,使用上一步引入的插件,即在每一个module的build.gradle文件中,将原来的com.android.library或者是com.android.application统一的替换为apply plugin: ‘com.dd.comgradle’。(当然,在这一步中,那些恒为library的module,不需要进行替换。)替换成这个的目的我觉得主要有两个:1.在编码阶段,项目之间是没有一个互相依赖的关系的,所以就很好的做到了代码的隔离,能够保证代码的耦合程度较低。2.使用此插件的module,可以在未来的某个时期,通过一定的设置来以一个单独的应用来运行,这在开发一个大型的项目中,单独运行某个模块进行调试,会对工作效率有很大的提升。
1.3 在当前工程的gradle.properties文件中,添加如下配置
mainmodulename = a