Android Studio gradle代理

问题描述 投票:56回答:12

我试图运行AndroidStudio 但它在启动失败时出现gradle错误:

Failed to import Gradle project: Connection timed out: connect

我找到了解决方案here

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

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

android gradle android-studio
12个回答
58
投票

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

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

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


1
投票

如果您在办公室和公司代理后面,请尝试将所有公司代理cacert导入jre\lib\security,因为gradle使用jre的证书。

另外,配置你的gradle.properties。它应该工作

更多详情请访问该主题:https://groups.google.com/forum/#!msg/adt-dev/kdP2iNgcQFM/BDY7H0os18oJ


0
投票

如果由于gradle代理设置而导致构建失败,那么只需输入我的代理IP地址和端口号即可。它对我有用。文件 - >设置 - > http代理 - >手动配置 - >主机名:您的代理IP,端口号:您的代理端口号。


0
投票

以下适用于我。文件 - >设置 - >外观和行为 - >系统设置 - > HTTP代理放入手动代理配置中的代理设置

重新启动android studio,弹出提示并要求您将代理设置添加到gradle,单击是。


65
投票

转到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

11
投票

对于Android Studio 3.2(Windows),您可以在gradle.properties下为当前用户编辑C:/Users/USERNAME/.gradle文件。

Reference Image


8
投票

对于NTLM身份验证代理:

文件 - >设置 - >项目设置 - >平移 - >全局平移设置 - >平移虚拟机选项

-Dhttp.proxyHost=myProxyAddr -Dhttp.proxyPort=myProxyPort -Dhttp.proxyUser=myUsername -Dhttp.proxyPassword=myPasswd -Dhttp.auth.ntlm.domain=myDomainName

7
投票

在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代理(在IDE设置下)设置代理,它只定义http代理并且不设置https代理


6
投票

Rajesh的建议对我不起作用。我做的是去

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

我仍然将代理信息留在Gradle下的Project Settings中,就像Rajesh建议的那样。但我不完全确定是否有必要。

我使用的是0.8.6 Beta


4
投票

在我的情况下,我在动态设置的代理后面。 我必须通过从互联网设置中选择脚本地址来下载设置脚本 Chrome > Settings > Show Advanced Settings > Change proxy Settings > Internet Properties > Connections > LAN Settings > Use automatic configuration script > Address 在浏览器中打开此URL会下载我在文本编辑器中打开的PAC文件

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

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

  • 我没有必须指定用户而不是密码。

3
投票

对于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


2
投票

对于新的android studio 1.2,您可以在以下位置找到gradle vm args:

File
- Settings
  - Build, Execution, Deployment
    - Build Tools
      - Gradle
© www.soinside.com 2019 - 2024. All rights reserved.