代理背后的Gradlew

Cri*_*ris 49 gradle gaelyk

我有来自Gaelyk(称为Bloogie)的样本,它正在使用gradlew.

我支持代理.

我读过gradle docs并发现了这个:

gradle.properties

systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将这些信息放入包装器gradlew中.任何的想法?

c_m*_*ker 64

您所要做的就是创建一个名为gradle.properties(使用上面提到的属性)的文件,并将其放在USER_HOME/.gradle项目目录中的gradle用户主目录(默认为)OR下.

gradle.properties如果在用户主目录或项目目录中找到,Gradle(包装器也是!!!)会自动获取文件.

有关详细信息,请阅读Gradle用户指南,尤其是第12.3节:通过代理访问Web


小智 40

如果您需要在代理后面进行https访问,请考虑为systemProp.https定义同一组属性.

systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅使用VPN和代理后面的崩溃解决方案无法构建Android应用程序.


小智 19

在提示行中使用此选项:

gradle -Dhttp.proxyHost=***  -Dhttp.proxyPort=*** -Dhttp.proxyUser=**** -Dhttp.proxyPassword=****
Run Code Online (Sandbox Code Playgroud)

在这里工作!

  • 对于需要HTTPS的代理,请添加`-Dhttps.proxyHost =***`和`-Dhttps.proxyPort =***`.制作:gradlew -Dhttp.proxyHost =***-Dhttp.proxyPort =***-Dhttps.proxyHost =***-Dhttps.proxyPort =***-Dhttp.proxyUser =****-Dhttp.proxyPassword =**** (2认同)

小智 15

如果要通过代理下载包装器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
Run Code Online (Sandbox Code Playgroud)


jju*_*ung 9

在设置https代理之前,我无法使代理属性生效:

systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
Run Code Online (Sandbox Code Playgroud)

但是我不得不使用http属性来输入用户名和密码:

systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
Run Code Online (Sandbox Code Playgroud)


Ben*_*hko 6

使用Gradle 1.0-milestone-8修复了Gradle Wrapper的这个问题.试一试.


Jav*_*ano 5

在此JDK 更新之后,我无法再次在代理后面使用 gradlew。最后我发现 JDK 默认禁用了 HTTPS 隧道的基本身份验证。所以除了代理设置之外,我还必须为 gradle.properties 添加此属性

systemProp.jdk.http.auth.tunneling.disabledSchemes=""
Run Code Online (Sandbox Code Playgroud)

我希望这对遇到同样问题的人有帮助