在Android Studio中设置Http Proxy

时间:2014-06-27 19:07:19

标签: android proxy android-studio

我已经阅读了多个类似的问题和文档,但我无法解决我的机器所在的公司防火墙问题。我得到的错误是'无法刷新Gradle项目'未知主机services.gradle.org。我阅读和理解的所有内容都让我相信这是一个http代理问题。我已经尝试在我的Project文件夹中的gradle.properties文件中设置代理属性,因此我的gradle.properties文件如下所示:

# Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -    Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
#  http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

systemProp.http.proxyHost=proxy.company.com
systemProp.http.proxyPort=83
systemProp.http.proxyUser=username
systemProp.http.proxyPassword=password
systemProp.http.auth.ntlm.domain=domain

systemProp.https.proxyHost=proxy.company.com
systemProp.https.proxyPort=83
systemProp.https.proxyUser=username
systemProp.https.proxyPassword=password
systemProp.https.auth.ntlm.domain=domain

我还尝试通过转到File-> Settings-> Gradle并使用以下方式设置Gradle VM选项来设置全局Gradle设置:

-Dhttp.proxyHost=proxy.company.com -Dhttp.proxyPort=83 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password

我看不到有关设置此http代理设置的其他位置的任何文档,如果可以,请提供帮助。

5 个答案:

答案 0 :(得分:3)

尝试将域添加到gradle全局设置

-Dhttp.proxyHost=proxy.company.com -Dhttp.proxyPort=83 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password -Dhttp.auth.ntlm.domain=domain

这对我有帮助。

答案 1 :(得分:1)

有一个类似的问题让android studio在企业防火墙后面打开。在查找SDK更新并失败后,它会崩溃。我使用了一个名为“proxycap”的免费软件,并输入了公司的代理设置(在我的计算机的互联网设置中可用)。现在它工作正常!还有其他代理免费软件(proxify ...),但我选择这是程序级代理设置的程序之一,我可以在那里设置android studio的代理。

答案 2 :(得分:0)

我不知道在以前的版本中是否有代理选项,但是在v1.0.1及更高版本中你可以在File->中找到它。设置 - > IDE设置。

答案 3 :(得分:0)

Node myAddr = nodes.get(local);
    server = new TCPServer();
    server.bindAsync(myAddr.host, myAddr.port)
          .<ChannelFuture>then(future -> {
              if (log.isInfoEnabled())
                  log.info("local server has started @" + myAddr + " result=" + future.isSuccess());
              async.onEvent(future);
          })
          .<ConnectEvent>loop(conn -> {
              if (log.isInfoEnabled())
                  log.info(conn.channel.remoteAddress() + " connected to me");
              conn.asyncStream
                      .<NetworkEvent<ByteBuf>>then(id_event -> {//identification
                          ByteBufInputStream in = new ByteBufInputStream(id_event.msg);
                          int index = (int) serializer.deserialize(in);
                          if (log.isInfoEnabled())
                              log.info("identify " + id_event.ctx.channel().remoteAddress() + " is " + index);
                          if (!connections.containsKey(index) || !connections.get(index).accept(id_event.ctx.channel()))
                              id_event.ctx.close();
                      })
                      .<NetworkEvent<ByteBuf>>loop(msg_event -> {
                          if (log.isInfoEnabled())
                              log.info("recv msg from " + conn.channel.remoteAddress());
                          ByteBufInputStream in = new ByteBufInputStream(msg_event.msg);
                          async.onEvent(serializer.deserialize(in));
                          return true;
                      })
                      .exception((e) -> {
                          if (log.isErrorEnabled())
                              log.error("error: " + e.getMessage());
                      });
              return true;
          });

答案 4 :(得分:0)

您需要做的就是转到“文件”下的“设置”,然后选择“自动检测代理并测试goole.com或您的网站域的连接”。