我有一个变量,例如myVar,在build.gradle中定义。我想在同一项目的一部分.java文件中访问此变量。我知道我们可以在Android中使用buildTypes
块来做到这一点。但是我在IntelliJ IDEA中有一个非Android项目,所以不能使用它。我确实遇到了一个插件https://github.com/mfuerstenau/gradle-buildconfig-plugin,让我可以做到这一点。
但是我不想依靠第三方插件。我还通过将值设置为System properties并随后使用System.getenv()
在.java中进行访问来了解实现这一点的方法。但是,我不想更改系统级的内容。知道怎么做吗?
答案 0 :(得分:2)
将此变量值存储到AndroidManifest.xml
复制的某些属性文件中(例如),并使用ClassLoader从Java代码加载属性文件。
例如:
在processResources
中,添加以下行:
src/main/resources/foo.properties
在您的构建文件中,添加以下配置:
zimboom=${blabla}
在Java源文件中,要获取值,请使用
def myVar = 'hello';
processResources {
fileMatching('foo.properties') {
expand([blabla: myVar])
}
}