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

Jij*_*mas 34 android

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

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

Gradle '<ProjectName>' project refresh failed
     Error:Cause: peer not authenticated.
Run Code Online (Sandbox Code Playgroud)

我已经设置了SDK,gradle给了gradle VM选项

-Dhttp.proxyHost=<proxy.address> -Dhttp.proxyPort=<port> -Dhttp.proxyUser=<username> -Dhttp.proxyPassword=<password>
Run Code Online (Sandbox Code Playgroud)

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

谁能帮我?

the*_*_mr 38

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

项目 build.gradle文件中的Gradle版本不正确.

我有

classpath 'com.android.tools.build:gradle:1.0.0'
Run Code Online (Sandbox Code Playgroud)

但这需要

classpath 'com.android.tools.build:gradle:2.1.0'
Run Code Online (Sandbox Code Playgroud)

注意:
这应该更新到最新版本的gradle工具,可以在这里找到 Android Studio也推荐最新的插件版本.


Sch*_*kie 18

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

你想在你的应用程序中使用driveby漏洞吗?因为这就是你在应用程序中获得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
Run Code Online (Sandbox Code Playgroud)

您应该看到一长串添加的证书(*.pem),最后是"完成".

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

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

  • 您应该提到此修复程序针对特定的Ubuntu问题.这不是**通用的解决方案. (14认同)
  • 我在Windows 10中遇到了同样的问题.我在哪里/如何解决这个问题? (2认同)
  • 这对我没有帮助。我使用的是 Windows 10。 (2认同)

Aeg*_*gir 16

这为我修好了:

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

在distributionUrl中将"https"更改为"http":

distributionUrl=http\://services.gradle.org/distributions/gradle-2.1-all.zip
Run Code Online (Sandbox Code Playgroud)

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


Ale*_*pov 11

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

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

如果您信任它们,那么简单的解决方法是将这些自签名证书添加到JDK的cacerts密钥库中.如何做到这一点的例子:Windows ; Linux/Mac.

  • 将证书添加到JDK CA证书库是解决此问题的正确方法.谢谢你的链接! (3认同)

alb*_*anx 7

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

  1. 确定您的https连接正在使用证书 在此输入图像描述

  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

这样就完成了.打开Android Studio,它将修复gradle构建.


Kei*_*ith 5

这是一个愚蠢的答案,但对我来说解决这个问题的是重新启动 Android Studio。

我断断续续地使用 Charles Proxy,我怀疑这与错误的原因有关。关闭代理并重新启动android studio,它就工作了。我想我会发帖,因为有时答案是如此简单,我们甚至忘记尝试一下。