Andoird 组件化研究
集成模式:业务组件被APP壳工程依赖组成一个完成的APP
组件模式:可以独立开发业务组件。每个业务组件就是一个APP
从组件化工程模型中可以看到,这些业务组件在集成模式下是一个个Library
被APP壳依赖,在组件开发模式下,业务组件变成了一个个application
整改过后,所有的模块不再直接引用和依赖,而是通过路由中间站产生联系
组件化的具体实施
1、组件模式和集成模式的切换
在gradle.properties中定义isMoudle = false属性代表的是是否组件化
在build.gradle中读取isModule
if (isModule.toBoolean()) {
apply plugin: 'com.android.application'
} else {
apply plugin: 'com.android.library'
}
2、组件之间AndroidManifest合并问题
写两个AndroidManifest.xml,在build.gradle中作出如下配置:
sourceSets {
main {
if (isModule.toBoolean()) {
manifest.srcFile 'src/main/module/AndroidManifest.xml'
} else {
manifest.srcFile 'src/main/AndroidManifest.xml'
}
}
}
3、全局Context的获取及组件数据初始化
sourceSets {
main {
if (isModule.toBoolean()) {
manifest.srcFile 'src/main/module/AndroidManifest.xml'
} else {
manifest.srcFile 'src/main/AndroidManifest.xml'
//集成开发模式下排除debug文件夹中的所有Java文件
java {
exclude 'debug/**'
}
}
}
}
4、library的依赖问题
5)组件之间的调用和通信
6)组件之间资源名冲突
路由组件的研究