Android Studio Gradle构build失败。 错误:原因:对方未经过身份validation

我已经创build了一个项目,gradle同步成功。

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

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代理标签中,我也给出了正确的选项。

谁能帮我?

Solutions Collecting From Web of "Android Studio Gradle构build失败。 错误:原因:对方未经过身份validation"

这是为我工作的解决scheme。 张贴在这里,以防止他人帮助。

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

我有

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

但是这需要

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

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

请勿将您的软件包源代码改为http而不是https。 停止使用这些解决方法并修复根本原因。

你想在你的应用程序中有一个驱动漏洞利用? 因为这就是你在应用程序中利用漏洞驱动的方式!

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

要解决此问题,请正确构build具有所有可信CA证书的密钥库。

用sudo运行这个:

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

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

使用gradle重新同步项目,并且全部将下载。 如果你已经设置好了,不要忘记closureshttp覆盖!

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

这对我来说是固定的:

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

在distributionUrl中将“https”更改为“http”:

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

那么你需要同步项目与gradle文件

这个错误说你试图使用HTTPS协议进行连接,但是你的客户端无法validation服务器的证书 – 通常是因为它是自签名的。

用您的浏览器连接到https://jcenter.bintray.com ,并检查证书链。 根证书应由GeoTrust Global CA颁发。 如果情况并非如此,您的互联网服务提供商或您的雇主会对您的HTTPS连接执行MITM。

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

通常,这个错误发生在公司代理下。 我在MAC上的解决scheme是这样的:

  1. 识别您的https连接正在使用的证书 在这里输入图像说明

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

  3. 识别find的证书并将其导出到certificate.cer文件
  4. 打开terminal并导航到您的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构build。

我closures了我的工作室,当我重新打开项目时,我有一个窗口input代理信息。 在那,我不得不检查checkbox,说“启用HTTPS代理”,并为我工作!

请先更改Gradle生成工具版本。 您需要更新构build工具版本。 仍然不工作,创build一个新的项目,并检查gradle文件的细节。 1.5.0是我安装的最新版本。

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

在干预之后,根据Schizo的回答 (你也应该关注它),而不是工作 。 我意识到Android Studio正在使用java-7-openjdk,但是我向java-8-openjdk添加了一个证书,所以直到我将其更改为ProjectJet 结构中的openJDK 8时才工作,所以一定要检查一下,万一它不适合你

这是浪费了很多时间尝试各种解决scheme后,我修复了这个问题:检查依赖关系 – >类path在项目的build.gradle文件

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

在我的情况下,将其更改为类pathcom.android.tools.build:gradle:2.0.0-rc1来解决问题。 要知道使用的正确版本,做了一个新的项目,并检查build.gradle文件。 希望这可以帮助。

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

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

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

我改变classpath com.android.tools.build:gradle:1.1.3' com.android.tools.build:gradle:1.0.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

一旦你做了改变,同步项目

我也面临同样的问题,问题与证书有关。 1:所以第一步是去build设 – >清洁工程。 它会给你关于错误的细节。 2:复制堆栈跟踪失败的URL。 例如,build没有下载某个文件,stack-trace将会得到这个URL的信息。 3:在浏览器中打开url,如果你能够打开它,这意味着你的代理设置是好的,但是java不能相信源来下载它。 4:所以你需要手动复制证书并放入jre证书。 重build应该解决这个问题。 5:或者如果你有最新的版本,可以解决问题。

当我使用Ubuntu时发生这种情况:当我更改了Android Studio 2.0 9预览testing版1的版本。

我如何修复我的gradle。

简单地在android studio中创build一个新项目,然后进入,看到build.grandle版本gradle在我的情况:

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

并在我的项目中取代。

我希望它可以帮助别人。

在我的情况下,我不得不下载最新的Java SDK,然后将项目中的JDK位置更改为下载的JDK。 显然现在的JDK出了什么问题(我的病毒扫描程序对此有一些警告)

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

 systemProp.https.proxyHost = <your proxy host> systemProp.https.proxyPort = <your proxy port> 

问题解决了!

从这里回答共享https://stackoverflow.com/a/37962441/4030497当互联网有一些问题的情况下,尝试添加一条&#x7EBF;

54.231.14.232 s3.amazonaws.com

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

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

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

保持http://

我有同样的问题和salve它,我的传导是我定义的HTTP代理,我用代理连接服务器。 其实,你不需要代理来连接jcenter

改变我的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 } 

更新你的gradle到最新版本。 它完美的作品。

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

我希望它有帮助。

可能有时候你的应用程序在你的分级中使用Crashlytic bundle而你的networking无法parsingCrashlytic库。 换一种说法,可能是别人lib可能会导致问题。 请检查您的互联网可以访问和grep这些库。

所以它返回一个错误

“错误:原因:对方未经过身份validation”。

对我来说,我是通过评论代码来解决这个问题的,这些代码演变成了crashlytics lib all并且再次编译—>这个问题耗费我的工作时间到4 个小时才知道并清除它。

T ^ T

希望我们所有人都能安全地避免这个问题