如何为Gradle设置代理服务器?

12

我需要设置一个代理服务器才能在公司的网络中使用gradle来下载项目依赖。我尝试为shell设置了代理,但它没有起作用,所以我认为这是因为gradle使用的命令不使用http_proxy环境变量来下载这些依赖项。

gradle下载项目依赖时使用哪些命令(例如wgetcurl)?我该如何检查这些命令?我尝试了--info--debug选项,但它只会针对每个文件提供类似以下内容的信息:

Download https://jcenter.bintray.com/com/android/tools/lint/lint/25.1.0/lint-25.1.0.pom

可能是AndroidStudio gradle代理的重复问题。 - Mehdi Dehghani
2个回答

46

Gradle有自己的依赖管理系统,类似于Maven。我认为Gradle发布插件的部分功能以某种方式由Maven支持(未经验证)。但是无论如何,您不必担心那个层面,Gradle会处理它。您的问题是设置代理。您只需要在$projectDir/gradle.properties中设置一些变量,例如:

#http proxy setup
systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost

#https proxy setup
systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost

参考资料:https://docs.gradle.org/current/userguide/build_environment.html#sec:accessing_the_web_via_a_proxy


您可以按照以下步骤获取代理主机名和端口号:转到CHROME设置>高级选项>系统>打开代理设置>连接选项卡>局域网设置。自动检测URL看起来像这样:http://something.something.company.com/pac.pac将此URL放入浏览器地址栏中并查看生成的PAC(即文本)文件(例如使用记事本)在该文本文件中列出的代理服务器如下: something.something.org端口是一个整数,例如80或8080 - J.E.Tkaczyk
我有一个代理,例如 http:// http://somehost.org。当我只输入 somehost.org 时,它可以正常工作。 - Maarten Folkers

0

设置Android Studio代理

Android Studio支持HTTP代理设置,因此您可以在防火墙或安全网络后面运行Android Studio。要在Android Studio中设置HTTP代理设置:

1.从菜单栏中,点击文件>设置(在macOS上,点击Android Studio>首选项)。 2.在左侧窗格中,点击外观和行为>系统设置>HTTP代理。HTTP代理页面将出现。 3.选择自动检测代理设置以使用代理设置的自动代理配置URL,或手动代理配置以自己输入每个设置。 4.点击应用或确定以使更改生效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接