美文网首页
Gradle在打包差异化多版本中使用全局变量

Gradle在打包差异化多版本中使用全局变量

作者: 简单点的笨演员 | 来源:发表于2020-10-16 19:02 被阅读0次

Gradle使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,而Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,所以Gradle可以直接使用Java的语法。这样我们可以在Gradle文件中用系统的配置信息接口System.getProperty和System.setProperty来获取、设置全局变量:

//build.gradle
if (getGradle().getStartParameter().getTaskRequests().toString().contains("wandoujia")){
    System.setProperty("WXAPPID", "11111");
} else {
    System.setProperty("WXAPPID", "22222");
}

不过要注意的是,在Gradle中设置的变量,只有在Gradle中能用,在java代码中无法使用。如果想在java中能用,可以这样用(注意字符串要额外的引号):

//build.gradle
if (getGradle().getStartParameter().getTaskRequests().toString().contains("wandoujia")){
    buildConfigField "String", "WXAPPID", "\"11111\""
} else {
    buildConfigField "String", "WXAPPID", "\"22222\""
}

在java代码中就可以这样用:

Log.d(TAG, "WXAPPID is : " + BuildConfig.WXAPPID);

相关文章

网友评论

      本文标题:Gradle在打包差异化多版本中使用全局变量

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