组件化项目的意义
各个子模块不互相依赖,但是可以互相交换,任意组合,高度解耦。
提高团队效率,分模块打包、测试,统一版本管理
Phone Module 和 Android Library 区别、切换
Phone Module
新建出可独立运行的模块,可以看成是app,配置为:
apply plugin:'com.android.application'
有applicationId
Android Library
新建出安卓库,不能独立运行,配置为:
apply plugin:'com.android.library'
没有applicationId
Phone Module 和 Android Library 切换,
1.修改 plugin 和 applicationId
2.配置andoridmanifest
Phone Module:组件化,子项目可以独立运行,可编译成apk
Library: 集成化,不可以独立运行, 编译整个工程 打包apk
集成化环境编译时,隔离调试代码
// 配置资源路径,方便测试环境,打包不集成到正式环境
sourceSets {
main {
if (!isRelease) {
// 如果是组件化模式,需要单独运行时
manifest.srcFile 'src/main/debug/AndroidManifest.xml'
} else {
// 集成化模式,整个项目打包apk
manifest.srcFile 'src/main/AndroidManifest.xml'
java {
// release 时 debug 目录下文件不需要合并到主工程
exclude '**/debug/**'
}
}
}
}