用处
- 项目多模块。
- 发布时,不可独立运行。
- 测试时,需要他能独立运行
如果在manifest中改来改去就很容易出错。所以我们可以用动态加载,设置true或false实现快速切换。
最终效果:
isUserMoudle | apply plugin | 独立运行 | 使用manifest |
---|---|---|---|
true | 'com.android.library' | 不能 | release |
false | 'com.android.application' | 能 | debug |
示例
现在我们有一个用户模块userMoudle,主模块为App,现在我们要在用户模块实现注册并可以动态加载
步骤一
- 在gradle.properties中添加
isUserModule=true
-
重新make模块
步骤二
- 在用户模块的build.gradle中进行操作
if (isUserModule.toBoolean()){
apply plugin: 'com.android.library'
}else{
apply plugin: 'com.android.application'
}
步骤三
- 分别创建库和模块不同的manifest
-
分包
-
debug
-
release
步骤四
- 判断使用哪个manifest
sourceSets {
main {
if (isUserModule.toBoolean()) {
manifest.srcFile 'src/main/release/AndroidManifest.xml'
} else {
manifest.srcFile 'src/main/debug/AndroidManifest.xml'
}
}
}
总结
只需要修改gradle.properties中的isUserMoudle就可以动态修改模块类型
isUserMoudle | apply plugin | 独立运行 | 使用manifest |
---|---|---|---|
true | 'com.android.library' | 不能 | release |
false | 'com.android.application' | 能 | debug |