概要
本文只适合想要对组件化开发有个大概认知以及复习总结,新手应该看这篇文章
在多人开发的时候,最简单的使用github托管源码,大家在开发过程中,通过push和pull代码,保持项目同步,然后打包运行测试。然而这只适合小型项目开发,在大型项目中,代码和功能都非常多,这导致编译和测试异常麻烦。基于上述,我们可以使用组件化来开发项目。所谓的组件化,是指开发的时候,把项目拆分成一个父模块和多个子模块(也就是library),大家在平时开发的时候,等于单独在开发测试一个小项目,而在发布的时候,合并成一个项目。
组件化开发的步骤
组件化项目一般包含以下几个工程
公共Library:下图中的lib_common工程,用来放一些共用模块,如http请求、图片异步加、下拉刷新、消息推送等所有项目都能用到的共用模块。
app壳工程:负责管理各个业务组件,和打包apk,没有具体的业务功能;
Main工程,属于业务组件,指定APP启动页面、主界面。
其他业务组件:负责各个子功能,每个组件都是一个独立的app。
组件化具体的操作步骤
- 创建一个静态变量:用来标识是单独项目还是模块。在android studio的gradle.properties里面,我们可以创建属于gradle编译的静态变量,并且这里的静态变量是可以被所有的项目引用到的。。
我们可以通过下面这种方式来引用静态变量的值。用来区分是编译的时候还是
if (isModule.toBoolean()) {
apply plugin: 'com.android.application'
} else {
apply plugin: 'com.android.library'
}
2.组件之间的AndroidManifest.xml合并:每个组件和Main的AndroidManifest.xml文件都需要合并到壳工程里,并且由于在测试的时候,每个业务app里面的manifest.xml都设置了application和main activity,由于每个app只能有一个启动activity和application,所以我们必须要在打包的时候去除这些东西,否则就会出错。解决的办法是我们设置两套manifest.xml,合并项目的时候一套,平时开发测试的时候一套。合并项目的那套不包含ap