gpt4 book ai didi

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

转载 作者:bug小助手 更新时间:2023-10-28 01:36:41 32 4
gpt4 key购买 nike

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

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

android {
debug {
A_VAR_RETRIEVABLE_IN_JAVA = 42
}
release {
A_VAR_RETRIEVABLE_IN_JAVA = 42+52
}
}

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

最佳答案

这里有两种从 Gradle 传递值以在 Java 中使用的方法;

生成 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_nameR.string.app_name

以通常的方式访问它们

关于java - 是否可以在 Gradle 中声明一个可在 Java 中使用的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17197636/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com