【问题标题】:Is here anyway to access gradle ext properties in java code?无论如何在这里访问java代码中的gradle ext属性吗?
【发布时间】:2019-07-17 06:09:08
【问题描述】:

这是项目级别的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 项目文件中访问这些变量!。

【问题讨论】:

  • 如果这解决了您的问题,请考虑将其标记为答案,前提是它有帮助:) 快乐编码
  • 你想访问什么,具体点?有很多东西可以通过不同的方式访问
  • @a_local_nobody 它没有解决问题!
  • 您面临什么问题?这应该工作
  • 现在更新了,希望对你有帮助

标签: android android-gradle-plugin


【解决方案1】:

如果您尝试在 java 代码中显式访问 gradle 扩展,答案是否定的:这是不可能的,请参阅此:Android - Read build.gradle properties inside class,另请参阅此Is it possible to declare a variable in Gradle usable in Java?

【讨论】:

  • 解决所有问题的方法似乎是 buildConfigFields :D 快乐编码
【解决方案2】:

在 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

如果这没有帮助,请查看此链接以获得更完整的答案:

How to generate buildConfigField with String type

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-14
    • 2016-06-03
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多