无论如何都可以在 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?