组件化:
简单说简介将不同的业务,拆分为不同工程,而这些工程都能独立运行,在并行开发的时候也能提高工具编译速度。
把一些公共的依赖,一些公共的依赖和(比如工具类和基类)都放在common中,然后每个工程都区依赖common,主工程去依赖每个工程。
使用:
1 首先我们在gradle.properties中定义一个常量值 isModule(是否是组件开发模式,true为是,false为否)
2 在每个工程的bulid.gradle中拿到是否开启组件化模式的常量isModule;
if (isModule.toBoolean()) { 如果开启组件化 就是application模式也就是能独立运行
apply plugin: 'com.android.application'
} else { 如果不开启组件化 就是library模式也就是不能独立运行
apply plugin: 'com.android.library'
}
3 同时给AndroidManifest指定两种不同路径manifest,因为独立运行的app需要声明 Application 和要 launch的Activity。
if (isModule.toBoolean()) {
manifest.srcFile 'src/main/debug/AndroidManifest.xml'
} else {
manifest.srcFile 'src/main/release/AndroidManifest.xml'
//release模式下排除debug文件夹中的所有Java文件
java {
exclude 'debug*'
}
}
4 同时主工程依赖所以工程也需要判断,
if (!isModule.toBoolean()) {
compile project(':yiqiyidang')
compile project(':huanjingjiankong')
compile project(':info_query')
compile project(':yangcheng')
compile project(':voc')
compile project(':hktv')
} else {
compile project(':library:common')
}