~/.gradle/gradle.properties 文件未被读取
~/.gradle/gradle.properties file not being read
这里有一个类似的问题:Gradle properties not being read from ~/.gradle/gradle.properties 但它没有解决我的问题。
在我看来 gradle 没有读取我的 ~/.gradle/gradle.properties
文件。
我在 ~/.gradle
中有一个 gradle.properties 文件,它具有在上传到 Maven Central 之前签署工件所需的属性。它看起来像这样:
signing.keyId=12345678
signing.password=myPassword
signing.secretKeyRingFile=/home/me/.gnupg/secring.gpg
sonatypeUsername=me
sonatypePassword=myOtherPassword
当我尝试构建我的项目时,它抱怨没有 sonatypeUsername 属性,因此:
> Could not find property 'sonatypeUsername' on root project 'yourProject'.
这是我的项目 build.gradle 的相关部分:
uploadArchives {
repositories {
mavenDeployer {
// lots of non-interesting things here
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: project.property("sonatypeUsername"), password: project.property("sonatypePassword"))
}
}
}
}
当我尝试通过调试构建项目时,这是我看到的有关属性的信息:
$ ./gradlew --stacktrace --debug build
[INFO] [o.g.BuildLogger] Starting Build
[DEBUG] [o.g.BuildLogger] Gradle user home: /home/me
[DEBUG] [o.g.BuildLogger] Current dir: /home/me/dev/yourProject
[DEBUG] [o.g.BuildLogger] Settings file: null
[DEBUG] [o.g.BuildLogger] Build file: null
[DEBUG] [o.g.i.b.BuildSourceBuilder] Starting to build the build sources.
[DEBUG] [o.g.i.b.BuildSourceBuilder] Gradle source dir does not exist. We leave.
[DEBUG] [o.g.i.DefaultGradlePropertiesLoader] Found env project properties: []
[DEBUG] [o.g.i.DefaultGradlePropertiesLoader] Found system project properties: []
[DEBUG] [o.g.a.i.a.m.DefaultLocalMavenRepositoryLocator] No local repository in Settings file defined. Using default path: /home/me/.m2/repository
[DEBUG] [o.g.i.ScriptEvaluatingSettingsProcessor] Timing: Processing settings took: 0.286 secs
[INFO] [o.g.BuildLogger] Settings evaluated using empty settings script.
[DEBUG] [o.g.i.ProjectPropertySettingBuildLoader] Looking for project properties from: /home/me/dev/yourProject/gradle.properties
[DEBUG] [o.g.i.ProjectPropertySettingBuildLoader] project property file does not exists. We continue!
[INFO] [o.g.BuildLogger] Projects loaded. Root project using build file '/home/me/dev/yourProject/build.gradle'.
一个快速而肮脏的解决方案就是简单地将 gradle.properties 放在您的 build.gradle 旁边,这将保证它会被读取。我意识到这并不能解决公共属性的单一集中来源问题,但至少可以解决问题。
问题是我做了一个不正确的假设。如果您查看 section 14.2 of the gradle documentation,它会显示:
You can place a gradle.properties file in the Gradle user home directory (defined by the “GRADLE_USER_HOME” environment variable, which if not set defaults to USER_HOME/.gradle) or in your project directory.
我的不正确 假设是 USER_HOME 只是默认为标准 linux HOME 环境变量。这不是真的。
一旦我 export USER_HOME=$HOME
在我的 ~/.bashrc
中一切正常
默认情况下,无需设置 GRADLE_USER_HOME
,它应该可以工作。我在 v3.5
测试过它。
但请确保您运行是否以正确的用户身份使用它。例如,如果您使用 sudo
执行 ./gradlew build
,那么您主文件夹中的 gradle.properties
将不会被提取。
要确保默认gradle用户主页,您可以运行gradle使用 --debug
选项并注意以下行,
[DEBUG] [org.gradle.internal.buildevents.BuildLogger] Gradle user home:
I did check Proxy Settings in Android Studio and i had No Proxy selected.
I did Invalidate Cache and Restart with no luck.
I added an exception in Firewall, still no luck.
In project gradle.properties
i have no proxy configurations. Its empty, only comments.
在以前的 Android Studio 版本中,我启用了全局代理设置,它是一个存储在我的用户配置文件中的文件 %userprofile%\.gradle\gradle.properties
删除此文件中的代理行,解决了我的问题。我必须重新启动 Android Studio 才能使其正常工作。
:)
我自己在通过 gradlew 努力构建 apk 时偶然发现了这个问题。
我之前尝试针对所提到的错误设置 Gradle_user_home,但没有用,下面的解决方案对我有用。
我对 gradle-wrapper.properties 进行了以下配置:
*distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip*
gradlew 本身在 运行 时间从上面的配置 (distributionUrl) 下载 gradle 的正确分发。没有其他要求。
我遇到了同样的问题并通过使用 gradle 二进制文件来构建而不是 android 项目附带的包装器来解决它。您可以从这里安装 gradle:https://docs.gradle.org/current/userguide/installation.html#installation
然后在系统范围内使用 gradle 进行构建,同时在项目根目录而不是包装器上,例如 ex:
$ gradle installDebug
我正在使用 Windows,我遇到了同样的问题。我注意到我的 ~/.gradle/gradle.properties 文件在开头有一个字节顺序标记 (BOM),我认为它有 windows 行结尾 (\r\n)。我重新创建了我的 ~/.gradle/gradle.properties 文件,方法是删除它,然后用 vim 和 unix 行结尾 (\n) 制作一个新文件,内容与以前相同,然后它开始工作。我不知道是 BOM、行尾还是两者的组合导致了这个问题,但我认为我应该分享这个以防其他人对这个问题有同样的原因。
我犯了一个不同的错误。为什么我要在“智能创意”中设置这个字段? :) 但是,当我在此字段中写入正确的值时,我从 .gradle
得到正确的读数 gradle.properties
some setting in Idea
这里有一个类似的问题:Gradle properties not being read from ~/.gradle/gradle.properties 但它没有解决我的问题。
在我看来 gradle 没有读取我的 ~/.gradle/gradle.properties
文件。
我在 ~/.gradle
中有一个 gradle.properties 文件,它具有在上传到 Maven Central 之前签署工件所需的属性。它看起来像这样:
signing.keyId=12345678
signing.password=myPassword
signing.secretKeyRingFile=/home/me/.gnupg/secring.gpg
sonatypeUsername=me
sonatypePassword=myOtherPassword
当我尝试构建我的项目时,它抱怨没有 sonatypeUsername 属性,因此:
> Could not find property 'sonatypeUsername' on root project 'yourProject'.
这是我的项目 build.gradle 的相关部分:
uploadArchives {
repositories {
mavenDeployer {
// lots of non-interesting things here
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: project.property("sonatypeUsername"), password: project.property("sonatypePassword"))
}
}
}
}
当我尝试通过调试构建项目时,这是我看到的有关属性的信息:
$ ./gradlew --stacktrace --debug build
[INFO] [o.g.BuildLogger] Starting Build
[DEBUG] [o.g.BuildLogger] Gradle user home: /home/me
[DEBUG] [o.g.BuildLogger] Current dir: /home/me/dev/yourProject
[DEBUG] [o.g.BuildLogger] Settings file: null
[DEBUG] [o.g.BuildLogger] Build file: null
[DEBUG] [o.g.i.b.BuildSourceBuilder] Starting to build the build sources.
[DEBUG] [o.g.i.b.BuildSourceBuilder] Gradle source dir does not exist. We leave.
[DEBUG] [o.g.i.DefaultGradlePropertiesLoader] Found env project properties: []
[DEBUG] [o.g.i.DefaultGradlePropertiesLoader] Found system project properties: []
[DEBUG] [o.g.a.i.a.m.DefaultLocalMavenRepositoryLocator] No local repository in Settings file defined. Using default path: /home/me/.m2/repository
[DEBUG] [o.g.i.ScriptEvaluatingSettingsProcessor] Timing: Processing settings took: 0.286 secs
[INFO] [o.g.BuildLogger] Settings evaluated using empty settings script.
[DEBUG] [o.g.i.ProjectPropertySettingBuildLoader] Looking for project properties from: /home/me/dev/yourProject/gradle.properties
[DEBUG] [o.g.i.ProjectPropertySettingBuildLoader] project property file does not exists. We continue!
[INFO] [o.g.BuildLogger] Projects loaded. Root project using build file '/home/me/dev/yourProject/build.gradle'.
一个快速而肮脏的解决方案就是简单地将 gradle.properties 放在您的 build.gradle 旁边,这将保证它会被读取。我意识到这并不能解决公共属性的单一集中来源问题,但至少可以解决问题。
问题是我做了一个不正确的假设。如果您查看 section 14.2 of the gradle documentation,它会显示:
You can place a gradle.properties file in the Gradle user home directory (defined by the “GRADLE_USER_HOME” environment variable, which if not set defaults to USER_HOME/.gradle) or in your project directory.
我的不正确 假设是 USER_HOME 只是默认为标准 linux HOME 环境变量。这不是真的。
一旦我 export USER_HOME=$HOME
在我的 ~/.bashrc
中一切正常
默认情况下,无需设置 GRADLE_USER_HOME
,它应该可以工作。我在 v3.5
测试过它。
但请确保您运行是否以正确的用户身份使用它。例如,如果您使用 sudo
执行 ./gradlew build
,那么您主文件夹中的 gradle.properties
将不会被提取。
要确保默认gradle用户主页,您可以运行gradle使用 --debug
选项并注意以下行,
[DEBUG] [org.gradle.internal.buildevents.BuildLogger] Gradle user home:
I did check Proxy Settings in Android Studio and i had No Proxy selected.
I did Invalidate Cache and Restart with no luck.
I added an exception in Firewall, still no luck.
In project
gradle.properties
i have no proxy configurations. Its empty, only comments.
在以前的 Android Studio 版本中,我启用了全局代理设置,它是一个存储在我的用户配置文件中的文件 %userprofile%\.gradle\gradle.properties
删除此文件中的代理行,解决了我的问题。我必须重新启动 Android Studio 才能使其正常工作。
:)
我自己在通过 gradlew 努力构建 apk 时偶然发现了这个问题。 我之前尝试针对所提到的错误设置 Gradle_user_home,但没有用,下面的解决方案对我有用。
我对 gradle-wrapper.properties 进行了以下配置:
*distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip*
gradlew 本身在 运行 时间从上面的配置 (distributionUrl) 下载 gradle 的正确分发。没有其他要求。
我遇到了同样的问题并通过使用 gradle 二进制文件来构建而不是 android 项目附带的包装器来解决它。您可以从这里安装 gradle:https://docs.gradle.org/current/userguide/installation.html#installation
然后在系统范围内使用 gradle 进行构建,同时在项目根目录而不是包装器上,例如 ex:
$ gradle installDebug
我正在使用 Windows,我遇到了同样的问题。我注意到我的 ~/.gradle/gradle.properties 文件在开头有一个字节顺序标记 (BOM),我认为它有 windows 行结尾 (\r\n)。我重新创建了我的 ~/.gradle/gradle.properties 文件,方法是删除它,然后用 vim 和 unix 行结尾 (\n) 制作一个新文件,内容与以前相同,然后它开始工作。我不知道是 BOM、行尾还是两者的组合导致了这个问题,但我认为我应该分享这个以防其他人对这个问题有同样的原因。
我犯了一个不同的错误。为什么我要在“智能创意”中设置这个字段? :) 但是,当我在此字段中写入正确的值时,我从 .gradle
得到正确的读数 gradle.properties
some setting in Idea