Android模块单独运行,快速切换发布测试Manifest,Gradle动态加载

用处

  • 项目多模块。
  • 发布时,不可独立运行。
  • 测试时,需要他能独立运行
    如果在manifest中改来改去就很容易出错。所以我们可以用动态加载,设置true或false实现快速切换。

最终效果:

isUserMoudle apply plugin 独立运行 使用manifest
true 'com.android.library' 不能 release
false 'com.android.application' debug

示例

现在我们有一个用户模块userMoudle,主模块为App,现在我们要在用户模块实现注册并可以动态加载

步骤一

  • 在gradle.properties中添加
isUserModule=true
  • 重新make模块


    Android模块单独运行,快速切换发布测试Manifest,Gradle动态加载_第1张图片
    gradle.properties示例

步骤二

  • 在用户模块的build.gradle中进行操作
if (isUserModule.toBoolean()){
    apply plugin: 'com.android.library'
}else{
    apply plugin: 'com.android.application'
}
Android模块单独运行,快速切换发布测试Manifest,Gradle动态加载_第2张图片
用来判断是库还是应用

步骤三

  • 分别创建库和模块不同的manifest
  • 分包


    Android模块单独运行,快速切换发布测试Manifest,Gradle动态加载_第3张图片
    分包
  • debug


    Android模块单独运行,快速切换发布测试Manifest,Gradle动态加载_第4张图片
    debug
  • release


    Android模块单独运行,快速切换发布测试Manifest,Gradle动态加载_第5张图片
    release

步骤四

  • 判断使用哪个manifest
sourceSets {
        main {
            if (isUserModule.toBoolean()) {
                manifest.srcFile 'src/main/release/AndroidManifest.xml'
            } else {
                manifest.srcFile 'src/main/debug/AndroidManifest.xml'
            }
        }
    }
Android模块单独运行,快速切换发布测试Manifest,Gradle动态加载_第6张图片
choice manifest

总结

只需要修改gradle.properties中的isUserMoudle就可以动态修改模块类型

isUserMoudle apply plugin 独立运行 使用manifest
true 'com.android.library' 不能 release
false 'com.android.application' debug

注意:独立运行时,Activity中添加资源文件R;反之删除。

Android模块单独运行,快速切换发布测试Manifest,Gradle动态加载_第7张图片
添加资源文件

你可能感兴趣的:(Android模块单独运行,快速切换发布测试Manifest,Gradle动态加载)