我已经创建了一个项目并且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代理选项卡中,我也给出了正确的选项。
任何人都可以帮助我吗?
答案 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覆盖!
答案 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的解决方案是:
打开钥匙链工具(cmd +空格键链)
打开终端并导航到您的JAVA JRE安全文件夹:
cd /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/security
使用以下命令导入证书:
sudo keytool -import -alias somealias -file /PATH_TO_EXPORTED_CERTIFICATE/certificate.cer -keystore cacerts -storepass changeit
完成了。打开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.proxyHost
和systemProp.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
希望我们所有人都能摆脱这个问题。