我想定义一个构建配置文件,在其中可以使用在gradle脚本中定义的变量:
def someVar = 512
android {
...
buildConfigField 'int', 'SOME_INT_FIELD', someVar
}
但是这会产生以下错误:
Error:(25, 0) Gradle DSL方法未找到:'buildConfigField()'
可能的原因:
项目 'PROJECT' 可能使用不包含此方法的Gradle版本。 构建文件可能缺少Gradle插件。
我可以使用引号,例如:
def someVar = 0
android {
...
buildConfigField 'int', 'SOME_INT_FIELD', '"' + someVar + '"'
}
但是这会导致BuildConfig编译错误。
// Fields from default config.
public static final int SOME_INT_FILED = "512";
所以现在我仍然坚持:
def someVar = 0
android {
...
buildConfigField 'String', 'SOME_INT_FIELD', '"' + someVar + '"'
}
并像这样使用:
final int value = Integer.valueOf(BuildConfig.SOME_INT_FIELD);
有没有更好的解决方案,或者我是不是错误地使用了 buildConfigField?
(我还尝试过将括号与上述任何可能性结合使用。)