是否可以在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