作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 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/
我是一名优秀的程序员,十分优秀!