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);
网友评论