当前位置: 首页 > 知识库问答 >
问题:

这里是否可以访问java代码中的gradle ext属性?

权胜泫
2023-03-14

这是项目级gradle。生成文件:

 buildscript {
    ext {
        server_test = 'http://192.618..'
        server_main = "https://68.5..."
        another_value = "test"
    }

    ext.kotlin_version = '1.3.41'

....
....

我正在我的应用程序级别gradle中使用这些值。生成文件。

有没有办法访问这些变量在我的Java项目文件也!。

共有2个答案

沈健
2023-03-14

使用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

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

如何生成字符串类型的buildConfigField

贺博厚
2023-03-14

如果您试图在java代码中显式访问gradle扩展,答案是否定的:这是不可能的,请参阅此:Android-读取类中的build.gradle属性,并查看此是否可以声明Gradle中的变量可用于Java?

 类似资料:
  • 问题内容: 是否有一个(独立的!)Java API,它将XML- RPC接口包装到bugzilla?我不想为此编写自己的api,而且我实际上找不到能够做到这一点(而且只能做到这一点)的库。 更新: 我正在寻找 只用Java编写的类似http://oss.dbc.dk/bugzproxy/的东西 问题答案: 我知道这是一个有点老的话题,但是有相同问题的人很可能会在这里落下来。我想分享一篇博客文章,我

  • 问题内容: 现在我有了一些C源代码,我想在我的Java应用程序中使用它。我需要执行C源代码,并将结果返回到我的Java应用程序。与其将所有C源代码重写为Java,我如何在Java应用程序中重用C源代码? 问题答案: 看一下Java Native Interface 。 Java本机接口(JNI)是一种编程框架,它使Java虚拟机(JVM)中运行的Java代码能够被本机应用程序(特定于硬件和操作系统

  • 问题内容: javascript中的函数通过保持与其隐藏范围的(隐藏)链接来形成关闭。 当我们拥有函数(作为变量值)时,是否可以通过编程方式访问它? 真正的目标是理论上的,但一个演示可能是列出闭合的属性。 问题答案: 这是关闭的目的之一(使信息保密)。由于该函数已经执行,因此它的作用域变量不再可从外部获得(并且从未使用过)-只有在其作用域中执行的函数(仍然)可以访问。 但是,您可以通过getter

  • 什么事件名称谷歌地图触摸初始化标记,出现标题或描述?google.maps.event.add监听器(标记,触摸启动,

  • 问题内容: 是否有Java库可以访问本机Windows API?使用COM或JNI。 问题答案: 您可以尝试这两个,我都看到了成功。 http://jawinproject.sourceforge.net Java / Win32集成项目(Jawin)是一个免费的开放源代码体系结构,用于Java和通过Microsoft的组件对象模型(COM)或Win32动态链接库(DLL)公开的组件之间的互操作。

  • 假设我有一个这样的Kotlin函数类型的Kotlin 1.1 我可以从Java访问它 是否有可能以某种方式从Java以科特林类型别名(即)访问科特林接口?