是否可以在Gradle中声明可在Java中使用的变量?

是否可以在Gradle中声明一个可在Java中使用的变量?基本上,我想在build.gradle中声明一些var,然后在构建时(显然)获取它。就像C / C ++中的预处理器宏一样…

一个声明的例子就是这样:

android {

debug {

A_VAR_RETRIEVABLE_IN_JAVA = 42

}

release {

A_VAR_RETRIEVABLE_IN_JAVA = 42+52

}

}

有没有办法做这样的事情?

回答:

生成Java常量

android {

buildTypes {

debug {

buildConfigField "int", "FOO", "42"

buildConfigField "String", "FOO_STRING", "\"foo\""

buildConfigField "boolean", "LOG", "true"

}

release {

buildConfigField "int", "FOO", "52"

buildConfigField "String", "FOO_STRING", "\"bar\""

buildConfigField "boolean", "LOG", "false"

}

}

}

你可以使用 BuildConfig.FOO

产生Android资源

android {

buildTypes {

debug{

resValue "string", "app_name", "My App Name Debug"

}

release {

resValue "string", "app_name", "My App Name"

}

}

}

你可以使用@string/app_name或以通常的方式访问它们R.string.app_name

以上是 是否可以在Gradle中声明可在Java中使用的变量? 的全部内容, 来源链接: utcz.com/qa/424146.html

回到顶部