gpt4 book ai didi

java - 如何从 java 模块中的 gradle.properties 中读取值?

转载 作者:行者123 更新时间:2023-12-02 09:28:38 26 4
gpt4 key购买 nike

我在 Android Studio 中有一个包含几个模块的项目。

  • app 模块。使用 apply plugin: 'com.android.application'
  • androidLibrary 模块。使用 apply plugin: 'com.android.library'
  • javaLibrary 模块。使用 apply plugin: 'java'

我想在项目 gradle.properties 文件中声明一些变量,并能够从 javaLibrary 模块中读取它们。

我已经根据this通过以下方式声明了属性文档...

  • mysuperhost=superhost
  • systemProp.mysuperhost=superhost
  • ORG_GRADLE_PROJECT_mysuperhost=superhost
  • org.gradle.project.mysuperhost=superhost

...并尝试以这种方式阅读它们但没有成功:

  • System.getenv("mysuperhost");
  • System.getProperty("mysuperhost");

我知道如何从 BuildConfig 类中读取属性,但这是应用程序模块中生成的类(使用 apply plugin: 'com.android.application' ),所以这不适用于这种特殊情况。

最佳答案

如果您的 gradle.properties 文件中有一些值,例如mysuperhost= super 主机然后在您的 build.gradle 文件中写入以下行(从 gradle.properties 文件中获取属性并将其添加到 BuildConfig.java 类中):

// ...
// ...

android {
// Just for example
compileSdkVersion 23
// Just for example
buildToolsVersion "23.0.2"

// ...
// ...

defaultConfig {
// Just for example
minSdkVersion 14
// Just for example
targetSdkVersion 23

// This is the main idea
buildConfigField('String', 'MY_SUPER_HOST', "\"${mysuperhost}\"")

// ...
// ...
}

// ...
// ...
}

// ...
// ...

之后构建您的项目,您可以通过 BuildConfig.MY_SUPER_HOST 使用您的值

关于java - 如何从 java 模块中的 gradle.properties 中读取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35470941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com