Gradlew在代理之后

我有一个来自Gaelyk的样本(叫做Bloogie),它使用gradlew。

我在代理人后面。

我读过gradle文档,发现这个:

gradle.properties

systemProp.http.proxyHost=www.somehost.org systemProp.http.proxyPort=8080 systemProp.http.proxyUser=userid systemProp.http.proxyPassword=password 

但我不知道如何把这个信息放入包装gradlew。 任何想法?

您只需要创build一个名为gradle.properties的文件(使用上面提到的属性),并将其放置在您的gradle用户主目录(默认为USER_HOME/.gradle )或您的项目目录中。

如果在用户主目录或项目目录中find了Gradle(包装器也是),它会自动拾取gradle.properties文件。

有关更多信息,请阅读Gradle用户指南 ,特别是第12.3节: 通过代理访问Web

如果您需要https访问代理,请考虑定义systemProp.https的同一组属性。

 systemProp.https.proxyHost=www.somehost.org systemProp.https.proxyPort=8080 

请参阅无法在VPN和代理后面使用crashlytics构buildAndroid应用程序以获取更多信息。

在提示行中使用它:

 gradle -Dhttp.proxyHost=*** -Dhttp.proxyPort=*** -Dhttp.proxyUser=**** -Dhttp.proxyPassword=**** 

在这里工作!

如果通过代理下载封装,请在gradle.properties文件和gradle/wrapper/gradle-wrapper.properties文件中添加以下内容

如果要全局设置这些属性,请将其添加到USER_HOME/.gradle/gradle.properties file

 ## Proxy setup systemProp.proxySet="true" systemProp.http.keepAlive="true" systemProp.http.proxyHost=host systemProp.http.proxyPort=port systemProp.http.proxyUser=username systemProp.http.proxyPassword=password systemProp.http.nonProxyHosts=local.net|some.host.com systemProp.https.keepAlive="true" systemProp.https.proxyHost=host systemProp.https.proxyPort=port systemProp.https.proxyUser=username systemProp.https.proxyPassword=password systemProp.https.nonProxyHosts=local.net|some.host.com ## end of proxy setup 

我无法让代理属性工作,直到我设置https代理:

 systemProp.https.proxyHost=www.somehost.org systemProp.https.proxyPort=8080 

但是,我不得不使用http属性的用户名和密码:

 systemProp.http.proxyUser=userid systemProp.http.proxyPassword=password 

Gradle Wrapper的这个问题已经用Gradle 1.0-milestone-8修复了。 试一试。

我发现从gradle.properties读取属性可能是不正确的。 如果行包含跟踪空白,gradle找不到代理。 检查你的代理文件,并在行尾删除空格。 可以帮忙

在使用Cordova项目时,我有相同的代理问题。

为了解决这个问题,我在我的Cordova项目( hello/platforms/android )的android文件夹下创build了一个新的gradle.properties文件,并添加了你的问题中的代码

 systemProp.http.proxyHost=proxy.yourproxysite.com systemProp.http.proxyPort=8080 systemProp.http.proxyUser=yourusername systemProp.http.proxyPassword=password 

设置SSl代理为我工作。

 systemProp.http.proxyHost=proxy.yourproxysite.com systemProp.http.proxyPort=8080 systemProp.https.proxyHost=proxy.yourproxysite.com systemProp.https.proxyPort=8080 

我有同样的问题,我做的第一件事是创buildgradle.properties。 我没有这样的文件,所以我应该创build它与以下内容:

 systemProp.https.proxyHost=proxy systemProp.https.proxyPort=port systemProp.https.nonProxyHosts=domainname|localhost systemProp.https.proxyHost=proxy systemProp.https.proxyPort=port systemProp.https.nonProxyHosts=domainname|localhost 

当我添加它们时,gardlew命令正常工作在公司代理之后。 我希望它可以是有用的。

起初,这不适合我。
在我的情况下,我创build了我认为是USER_HOME / .gradle / gradle.properties文件,但结束了一个gradle.properties.txt文件。

在terminal窗口中,ls命令将在.gradle文件夹中显示完整的文件名。

然后mv gradle.properties.txt gradle.properties

 systemProp.http.proxyUser=userId systemProp.http.proxyPassword=password 

和https一样

Interesting Posts