无论如何都可以在 java 代码中访问 gradle ext 属性吗?
Is here anyway to access gradle ext properties in java code?
这是项目级别 gradle.build
文件:
buildscript {
ext {
server_test = 'http://192.618..'
server_main = "https://68.5..."
another_value = "test"
}
ext.kotlin_version = '1.3.41'
....
....
我在我的应用级别 gradle.build
文件中使用这些值。
有没有办法在我的 Java 项目文件中也访问这些变量!。
在 gradle(应用级别,而不是根级别)中使用 buildConfigFields,您可以:)
buildConfigField "String", "variable_name", "variable_value"
作为一个完整的例子:
productFlavors {
dev {
dimension "your_dimension_name"
buildConfigField "String", "SERVER_TEST", "\"http://192.618..\""
buildConfigField "String", "SERVER_MAIN", "\"https://68.5...\""
buildConfigField "String", "ANOTHER_VALUE", "test"
}
然后您可以使用以下方法在整个项目中访问这些变量:
BuildConfig.SERVER_TEST
如果没有帮助,请查看此 link 以获得更完整的答案:
如果您试图在 java 代码中显式访问 gradle 扩展,答案是否定的:这是不可能的,请参见:, and also see this Is it possible to declare a variable in Gradle usable in Java?
这是项目级别 gradle.build
文件:
buildscript {
ext {
server_test = 'http://192.618..'
server_main = "https://68.5..."
another_value = "test"
}
ext.kotlin_version = '1.3.41'
....
....
我在我的应用级别 gradle.build
文件中使用这些值。
有没有办法在我的 Java 项目文件中也访问这些变量!。
在 gradle(应用级别,而不是根级别)中使用 buildConfigFields,您可以:)
buildConfigField "String", "variable_name", "variable_value"
作为一个完整的例子:
productFlavors {
dev {
dimension "your_dimension_name"
buildConfigField "String", "SERVER_TEST", "\"http://192.618..\""
buildConfigField "String", "SERVER_MAIN", "\"https://68.5...\""
buildConfigField "String", "ANOTHER_VALUE", "test"
}
然后您可以使用以下方法在整个项目中访问这些变量:
BuildConfig.SERVER_TEST
如果没有帮助,请查看此 link 以获得更完整的答案:
如果您试图在 java 代码中显式访问 gradle 扩展,答案是否定的:这是不可能的,请参见: