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

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

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

安卓{
调试{
JAVA中的可检索变量=42
}
释放{
JAVA中的可检索变量=42+52
}
}

有没有办法做到这一点

这里有两种方法可以将值从Gradle传递到Java中使用

生成Java常量

安卓{
建筑类型{
调试{
buildConfigField“int”、“FOO”、“42”;
buildConfigField“字符串”、“FOO字符串”、“FOO字符串”;
buildConfigField“boolean”、“LOG”、“true”;
}
释放{
buildConfigField“int”、“FOO”、“52”;
buildConfigField“字符串”、“FOO”字符串、“条形图”;
buildConfigField“boolean”、“LOG”、“false”;
}
}
}

您可以使用BuildConfig.FOO

生成Android资源

安卓{
建筑类型{
调试{
resValue“字符串”、“应用程序名”、“我的应用程序名调试”;
}
释放{
resValue“字符串”、“应用程序名称”、“我的应用程序名称”;
}
}
}

您可以使用@string/app\u nameR.string.app\u name

发表评论