如何读取 build.gradle 中 local.properties 中定义的属性

How do I read properties defined in local.properties in build.gradle(如何读取 build.gradle 中 local.properties 中定义的属性)
本文介绍了如何读取 build.gradle 中 local.properties 中定义的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我在local.properties中设置了sdk.dirndk.dir.

如何读取build.gradle文件中sdk.dirndk.dir中定义的值?

How do I read the values defined in sdk.dir and ndk.dir in the build.gradle file?

推荐答案

你可以这样做:

Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
def sdkDir = properties.getProperty('sdk.dir')
def ndkDir = properties.getProperty('ndk.dir')

如果您正在读取子项目 build.gradle 中的属性文件,请使用 project.rootProject:

Use project.rootProject if you are reading the properties file in a sub-project build.gradle:

.
├── app
│ ├── build.gradle <-- You are reading the local.properties in this gradle build file
│ └── src
├── build.gradle
├── gradle
├── gradlew
├── gradlew.bat
├── settings.gradle
└── local.properties

如果属性文件在同一个子项目目录中,您可以只使用 project.

In case the properties file is in the same sub-project directory you can use just project.

这篇关于如何读取 build.gradle 中 local.properties 中定义的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Android release APK crash with java.lang.AssertionError: impossible in java.lang.Enum(Android 发布 APK 因 java.lang.AssertionError 崩溃:在 java.lang.Enum 中不可能)
Finished with Non Zero Exit Value 3(以非零退出值 3 结束)
On gradle:3.0.0 More than one file was found with OS independent path #39;META-INF/ASL2.0#39;(在 gradle:3.0.0 上找到多个文件,其独立于操作系统的路径为“META-INF/ASL2.0)
Android : app loading library at runtime on Lollipop but not IceCreamSandwich(Android:运行时在 Lollipop 上而不是 IceCreamSandwich 上的应用程序加载库)
buildConfigField depending on flavor + buildType(buildConfigField 取决于风味 + buildType)
How do I suppress warnings when compiling an android library with gradle?(使用 gradle 编译 android 库时如何抑制警告?)