AndroidStudio Gradle代理

67

我尝试运行AndroidStudio
但是在启动时遇到了gradle错误:

导入Gradle项目失败:连接超时:连接

我在这里找到了解决方案。

但我找不到如何在Android Studio中设置这些属性。

graddle-wrapper.properties中设置它们没有帮助。


1
你尝试过将它们作为VM选项传递吗?在Android Studio -> 首选项 -> Gradle中,将代理详细信息作为VM选项传递 -Dhttp.proxyHost=www.somehost.org -Dhttp.proxyPort=8080等。 - Rajesh
我在Stack上描述了获取它工作的方法:https://dev59.com/KmQn5IYBdhLWcg3wroyL#33690567 - Volodia
15个回答

90

前往gradle.properties文件(项目根目录)并添加这些选项。

systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=user
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=localhost
systemProp.http.auth.ntlm.domain=domain

systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=user
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=localhost
systemProp.https.auth.ntlm.domain=domain

1
我在下载gradle 1.0.0-rc1的pom文件时遇到了问题 - 这个帮了我。谢谢! - Informatic0re
1
谢谢,这很有帮助。我查看了所有地方,除了项目目录... 呃! - Swaroop
1
我正在使用这段代码,但是仍然在与Gradle同步方面遇到问题。 - zIronManBox
我有Android Studio 1.5,但是我尝试做这个操作时出现了错误。我该怎么办? - user4568864
显示剩余2条评论

67

在Android Studio -> 首选项 -> Gradle中,将代理详细信息作为VM选项传递。

Gradle VM选项 -Dhttp.proxyHost=www.somehost.org -Dhttp.proxyPort=8080等。

* 在0.8.6 Beta中,Gradle位于 文件->设置 (Windows和Linux上是Ctrl+Alt+S)


25
谢谢Rajesh。对我来说,完整的设置结构是有效的(如果有人需要的话,包括用户名和密码):-Dhttp.proxyHost=proxy.domain.company.com -Dhttp.proxyPort=8090 -Dhttp.proxyUser=atiris -Dhttp.proxyPassword=mysecretpassword - Atiris
@Rajesh 如何传递如果它是一个pac文件 - codebased
@codebased,据我所知,没有办法直接向虚拟机提供Proxy自动配置脚本。你可以打开该文件并找出在需要互联网访问时要使用的实际代理,然后按照上面解释的方法将其提供给Gradle。 - Rajesh
1
对于Android Studio 1.3.2+,请查看@sumit-sahoo的答案:https://dev59.com/GWMl5IYBdhLWcg3wZGPo#26840246 - grim
8
@Rajesh,Android Studio中的“Preferences”在哪里?我在Android Studio 2.0版本中找不到它。 - Shirish Herwade

22

对于Android Studio 3.2(Windows),您可以编辑位于C:/Users/USERNAME/.gradle路径下的gradle.properties文件,以供当前用户使用。

参考图片


8

在 gradle.properties 文件中(位于项目根目录),

您必须为 http 和 https 设置代理。

systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=user
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=localhost
systemProp.http.auth.ntlm.domain=domain

systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=user
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=localhost
systemProp.https.auth.ntlm.domain=domain

如果您从 菜单 -> 设置 -> HTTP代理(Under IDE Settings) 设置代理, 它仅定义了http代理而未设置https代理。


7

如果需要使用NTLM身份验证代理:

文件 -> 设置 -> 项目设置 -> Gradle -> 全局Gradle设置 -> Gradle VM选项


注意:上述内容已经被翻译,且保留了HTML标签。
-Dhttp.proxyHost=myProxyAddr -Dhttp.proxyPort=myProxyPort -Dhttp.proxyUser=myUsername -Dhttp.proxyPassword=myPasswd -Dhttp.auth.ntlm.domain=myDomainName

11
Android Studio 1.3.2中没有Gradle VM选项。 - herbertD

5

Rajesh的建议对我没有用。我的做法是:

文件->设置->HTTP代理(在IDE设置下)->手动代理配置

我仍然像Rajesh建议的那样在Gradle项目设置中保留了代理信息。但我不确定它是否必要。

我正在使用0.8.6 Beta版本。


5

在我的情况下,我处于动态设置代理的网络环境中。

我需要通过在以下位置选择脚本地址来下载设置脚本:
Chrome > 设置 > 显示高级设置 > 更改代理设置 > Internet属性 > 连接 > LAN设置 > 使用自动配置脚本 > 地址

在浏览器中打开此URL会下载一个PAC文件,我将其在文本编辑器中打开。

  • 查找PROXY字符串,其中应包含主机名和端口。
  • 将值复制到gradle.properties中。

systemProp.https.proxyHost=blabla.domain.com
systemProp.https.proxyPort=8081

  • 我不需要指定用户名和密码。

4
对于Android Studio 1.4,我需要执行以下操作:
在项目资源管理器中,打开“Gradle Scripts”文件夹。
编辑gradle.properties文件。
在文件底部追加以下内容,将下面的值替换为适当的值...
systemProp.http.proxyHost=?.?.?.?
systemProp.http.proxyPort=8080
# Next line in form DOMAIN/USERNAME for NTLM or just USERNAME for non-NTLM
systemProp.http.proxyUser=DOMAIN/USERNAME
systemProp.http.proxyPassword=PASSWORD
systemProp.http.nonProxyHosts=localhost
# Next line is required for NTLM auth only
systemProp.http.auth.ntlm.domain=DOMAIN

systemProp.https.proxyHost=?.?.?.?
systemProp.https.proxyPort=8080
# Next line in form DOMAIN/USERNAME for NTLM or just USERNAME for non-NTLM
systemProp.https.proxyUser=DOMAIN/USERNAME
systemProp.https.proxyPassword=PASSWORD
systemProp.https.nonProxyHosts=localhost
# Next line is required for NTLM auth only
systemProp.https.auth.ntlm.domain=DOMAIN

这里有关于可以设置哪些Gradle属性的详细信息... https://docs.gradle.org/current/userguide/userguide_single.html#sec%3aaccessing_the_web_via_a_proxy


3
以下是我的解决方案。 文件 -> 设置 -> 外观和行为 -> 系统设置 -> HTTP代理。 在手动代理配置中输入代理设置。 重新启动Android Studio,弹出提示询问是否将代理设置添加到Gradle中,请单击“是”。

1

对于新的Android Studio 1.2版本,您可以在以下位置找到Gradle VM参数:

File
- Settings
  - Build, Execution, Deployment
    - Build Tools
      - Gradle

  • 构建工具
    • 编译器 在最新的Android Studio 1.3.2中。
- zIronManBox

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