Android Studio Gradle构建失败。错误:原因:对等方未经过身份验证

时间:2014-11-04 12:05:50

标签: android

我已经创建了一个项目并且gradle sync成功运行。

当我尝试创建另一个项目时,它失败并提供错误消息

Gradle '<ProjectName>' project refresh failed
     Error:Cause: peer not authenticated.

我已设置SDK,gradle提供了gradle VM选项

-Dhttp.proxyHost=<proxy.address> -Dhttp.proxyPort=<port> -Dhttp.proxyUser=<username> -Dhttp.proxyPassword=<password>

在HTTP代理选项卡中,我也给出了正确的选项。

任何人都可以帮助我吗?

23 个答案:

答案 0 :(得分:39)

这是对我有用的解决方案。发布在这里,以防它帮助某人。

project build.gradle文件中的Gradle版本不正确。

我有

classpath 'com.android.tools.build:gradle:1.0.0'

但这需要

classpath 'com.android.tools.build:gradle:2.1.0'

注意:
这应该更新到最新版本的gradle工具,可以找到here Android Studio还推荐了最新的插件版本。

答案 1 :(得分:18)

不要将您的包源更改为http而不是https。停止使用这些变通办法并修复根本原因。

你想在你的应用程序中使用driveby漏洞吗?因为这就是你在app中获得driveby漏洞的方法!

此问题的来源证书颁发机构密钥库。不知何故,dpkg似乎试图在实际安装Java之前构建Java密钥库(/ etc / ssl / certs / java / cacerts),这是构建存储所需的工具。结果是一个空商店:

要解决此问题,请使用所有可信CA证书正确构建密钥库。

使用sudo运行:

sudo rm /etc/ssl/certs/java/cacerts
sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

你应该看到一长串添加的证书(* .pem),最后是“完成”。

使用gradle重新同步项目,所有人都会下载。如果已设置,请不要忘记关闭http覆盖!

来源:https://justus.berlin/2015/01/connection-problems-with-ssltls-peers-in-java-on-ubuntu-server-14-12-with-fix/

答案 2 :(得分:16)

这为我解决了这个问题:

打开/gradle/wrapper/gradle-wrapper.properties

更改&#39; https&#39;到了&#39; http&#39;在distributionUrl中:

distributionUrl=http\://services.gradle.org/distributions/gradle-2.1-all.zip

然后您需要将项目与gradle文件同步

答案 3 :(得分:11)

此错误表示您尝试使用HTTPS协议进行连接,但您的客户端无法验证服务器的证书 - 通常是因为它是自签名的。

使用浏览器连接到https://jcenter.bintray.com,然后检查证书链。根证书应由GeoTrust Global CA颁发。如果不是这样,您的Internet提供商或您的雇主会对您的HTTPS连接执行MITM。

如果您信任它们,那么简单的解决方法是将这些自签名证书添加到JDK的cacerts密钥库中。如何执行此操作的示例:Windows; Linux/Mac

答案 4 :(得分:7)

通常,当您在公司代理服务器下时会发生此错误。我对MAC的解决方案是:

  1. 确定您的https连接使用的证书enter image description here

  2. 打开钥匙链工具(cmd +空格键链)

  3. 确定找到的证书并将其导出到certificate.cer 文件
  4. 打开终端并导航到您的JAVA JRE安全文件夹:

    cd /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/security

  5. 使用以下命令导入证书:

    sudo keytool -import -alias somealias -file /PATH_TO_EXPORTED_CERTIFICATE/certificate.cer -keystore cacerts -storepass changeit

  6. 完成了。打开Android Studio,它将修复gradle构建。

答案 5 :(得分:1)

这是一个愚蠢的答案,但解决这个问题的是重启Android Studio。

我一直在使用Charles Proxy,我怀疑这与错误的原因有关。关闭代理并重新启动android studio,它工作正常。想我会发布,因为有时答案很简单,我们甚至忘记尝试。

答案 6 :(得分:1)

在浪费了大量时间尝试各种解决方案之后,我已经修好了它: 检查依赖项 - &gt;项目的build.gradle文件中的classpath

dependencies {
    classpath 'com.android.tools.build:gradle:2.10'
  }

将此更改为classpath&#39; com.android.tools.build:gradle:2.0.0-rc1在我的情况下修复此问题。要知道要使用的正确版本,请创建一个新项目并检查build.gradle文件。 希望这可以帮助。

答案 7 :(得分:1)

我关闭了工作室,当我重新打开项目时,我有一个窗口输入代理信息。在那里,我必须选中复选框,表示&#34;启用HTTPS代理&#34;这对我有用!

答案 8 :(得分:1)

干预后,跟随Schizo's answer(您也应该关注它),无法正常工作。我意识到Android Studio正在使用 java-7-openjdk ,但我在 java-8-openjdk 中添加了证书,所以直到我将其更改为 项目结构 中的openJDK 8,所以请确保您也检查它,以防它不适合您。

答案 9 :(得分:1)

请先更改gradle构建工具版本。您需要更新构建工具版本。仍然无法正常工作,创建一个新项目并检查gradle文件详细信息。 1.5.0是我安装的最新版本。

 classpath 'com.android.tools.build:gradle:1.5.0'

答案 10 :(得分:0)

确保在build.gradle文件中指定了最新的gradle版本,并在gradle-wrapper.properties文件中指定了最新的distributeUrl。检查网络连接是否正确[网络连接应该没有防火墙/其他可以停止升级gradle的设置]

答案 11 :(得分:0)

从这里回答分享https://stackoverflow.com/a/37962441/4030497 如果互联网出现问题, 尝试添加一行

54.231.14.232 s3.amazonaws.com

到/ etc / hosts(.. \ Windows \ System32 \ drivers \ etc \ hosts)

答案 12 :(得分:0)

如果这有助于某人,我遇到了同样的问题,即使我通过工作室设置设置代理(将systemProp.http.proxyHostsystemProp.http.proxyHost的值添加到gradle.properties), https 代理没有设置,所以我在gradle.properties

中添加了它
systemProp.https.proxyHost = <your proxy host>
systemProp.https.proxyPort = <your proxy port>

问题解决了!

答案 13 :(得分:0)

在我的情况下,我必须下载最新的Java SDK,然后将项目中的JDK位置更改为下载的JDK。显然当前的JDK出了问题(我的病毒扫描程序发出了一些警告)

答案 14 :(得分:0)

发生这种情况我使用Ubuntu:当我在android studio 2.0 9预览测试版1上更改版本时。

如何修复我的gradle。

只需在android studio中创建一个新项目,然后进入并查看build.grandle版本gradle在我的情况下:

 dependencies {
         classpath 'com.android.tools.build:gradle:2.0.0-beta1'
     }

并替换我的项目。

我希望它可以帮助别人。

答案 15 :(得分:0)

我也面临同样的问题,问题与证书有关。 1:所以第一步是去Build-&gt;清洁项目。它将为您提供有关错误的详细信息。 2:复制从堆栈跟踪失败的URL。例如,构建无法下载某些文件,堆栈跟踪将具有URL的信息。 3:在浏览器中打开网址,如果您能够打开它,这意味着您的代理设置正常,但java无法信任源下载它。 4:因此您需要手动复制证书并输入jre证书。重建应解决问题。 5:或者如果你有最新的jre verison,它可能会解决问题。

答案 16 :(得分:0)

还有一个小改动可以帮助你

  

gradle-wrapper.properties

更改

  

distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip

  

distributionUrl = https://services.gradle.org/distributions/gradle-2.4-all.zip

完成更改后同步项目

答案 17 :(得分:0)

var app = angular.module('starter', ['ionic'])

我将dependencies { classpath 'com.android.tools.build:gradle:1.0.1' } 更改为classpath com.android.tools.build:gradle:1.1.3'

答案 18 :(得分:-1)

将我的build.gradle更改为如下所示。

buildscript {
    repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:1.5.0'
}
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

答案 19 :(得分:-1)

我遇到了同样的问题并且使用了它,我的传导是定义HTTP代理并使用代理连接服务器。实际上,您不需要代理来连接jcenter

答案 20 :(得分:-1)

distributionUrl=http://services.gradle.org/distributions/gradle-2.1-all.zip

保持http://

答案 21 :(得分:-2)

将您的gradle更新为最新版本。 它运作得很好。

distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip

我希望它有所帮助。

答案 22 :(得分:-4)

有时您的应用可能会在您的渐变中使用Crashlytic捆绑包 并且您的网络无法解析Crashlytic库。换句话说,可能是其他lib可能会导致问题。请检查您的互联网是否可以访问并查看这些库。

因此它返回错误

  

“错误:原因:对等方未经过身份验证。”

对我来说,我 通过发展crashlytics lib的评论代码来解决这个问题 所有 并再次编译---&gt;这个问题将我的工作时间耗尽到4小时才知道并清除它。

T ^ T

希望我们所有人都能摆脱这个问题。