美文网首页
gradle加入不同的代码

gradle加入不同的代码

作者: 普通的程序员 | 来源:发表于2020-04-19 16:34 被阅读0次

现在假设有两个版本 debug,release

debug版本需要使用某个第三方库,且需要在java代码里进行设置(这就涉及到import的操作了),因此常规的debugImplemention 脚本语法无法满足我们的需求。

需要sourceSet的帮助

假设我们的release包是不需要在application里对LC进行设置的,
那么我们指定release的application为 normalApplication.class
需要对LC进行配置的debug版本的 application为 TestApplication

1.先对清单文件做配置,占位符


image.png

2.gradle文件进行配置

android {
   
    defaultConfig {
      ...
        manifestPlaceholders = [applicationClassName: "NormalApplication"]
    }
    buildTypes {
        release {
          ...
        }
        debug {
            ...
            manifestPlaceholders = [applicationClassName: "TestApplication"]
        }
    }

    sourceSets.debug {
        java.srcDirs 'src/debugLC/java'
    }

}

dependencies {
    ...
    debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.2'
}

这样就能在打包的时候,通过gradle脚本打包指定不同的application

然后通过sourceSet.debug来进行物理隔离
只有在debug版本的时候,才会把src/debugLC/java下的java资源编译进去。

项目结构


image.png image.png image.png

以上,完成了LC的物理隔离,也就不需要LC no-op包了

相关文章

网友评论

      本文标题:gradle加入不同的代码

      本文链接:https://www.haomeiwen.com/subject/xwfvbhtx.html