proxy - Gradle无法在代理后面编译

标签 proxy gradle android-studio android-gradle-plugin

我正在尝试在代理后面编译一个Android项目。我的大多数依赖项都可以正常编译,但是当我将Robolectric添加到build.gradle类路径时,总是会出错。因此,我的第一个代理配置是在Preferences -> HTTP Proxy中完成的。当我尝试仅使用这些设置进行编译时,我得到407响应:

Error:Could not HEAD 'http://repo1.maven.org/maven2/org/robolectric/robolectric-gradle-plugin/0.12.0/robolectric-gradle-plugin-0.12.0.jar'. Received status code 407 from server: AuthorizedOnly

这真的没有意义,因为我在HTTP Proxy设置中提供了凭据。另外,我尝试在HTTP Proxy页面上使用test-url函数,它说连接成功。

因此,我尝试在gradle.properties文件中添加设置。这给了我以下500错误:
Error:Could not HEAD 'http://repo1.maven.org/maven2/org/robolectric/robolectric-gradle-plugin/0.12.0/robolectric-gradle-plugin-0.12.0.jar'. Received status code 500 from server: ruleengineerror

有没有我忘记的设置?为什么我的其他mavenCentral依赖项可以编译?我是刚导入的该产品,所以我不是从缓存开始的,如果我拿出Robolectric,它可以很好地编译。

任何帮助,将不胜感激。如果这太本地化了,我提前道歉。

最佳答案

对于遇到此问题的任何人,我终于找到了一种解决方案,让我将所有依赖项顺利下载到代理之后。

我正在尝试在NTLM代理后面工作,该代理对我而言与Gradle合作不佳。为了解决这个问题,我下载了SquidMan并进行了设置。就像其他帖子中的其他建议一样,我正在建立一个中间代理以转发我的请求并将我的凭据输入到主代理。

建立:

  • 在SquidMan中,转到“首选项”->“常规”。在此输入中介代理的代理配置。我选择127.0.0.1作为主机名和端口9090。
  • 转到父级并输入您的公司/主要代理信息。
  • 启动SquidMan
  • 在全局Gradle位置(〜/ .gradle)中打开gradle.properties文件
  • 输入:
    systemProp.http.proxyHost = 127.0.0.1
    systemProp.http.proxyPort = 9090
    systemProp.https.proxyHost = 127.0.0.1
    systemProp.https.proxyPort = 9090

  • Gradle现在应该能够顺利地将依赖项下载到代理之后。

    希望这对某人有帮助!

    关于proxy - Gradle无法在代理后面编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25368643/

    相关文章:

    android - Android Studio始终以28版开始项目

    java - 在 Java 中,cast(即(ClassName))的实例和类型如何作用于代理对象?

    java - Gradle : Failed to notify build listener

    java - 在ECLIPSE光子中导入Gradle项目时出错

    gradle - 为什么Gradle未在intellij中列为项目选项

    android - 'No renderer supporting SKP version 68 found. Rotation disabled.' 是什么意思,我该如何解决?

    java - Java 应用程序中创建的代理有多少使用 Spring core、Hibernate、Spring AOP?

    proxy - Electron 代理

    proxy - 在哪里可以找到用于测试 GeoIP 服务的出色代理服务器?

    android - Flutter 1.9:D/skia(5106):着色器编译错误