我收到此错误
Gradle 'project_name' project refresh failed: Unable to find valid certification path to requested target
在Android Studio 0.8.14 Mac OSX上创建新项目时
Build.gradle文件似乎变空了
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.13.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
} }
allprojects {
repositories {
jcenter()
} }
我无法运行该项目,似乎我必须手动配置所有内容。
这是idea.log http://pastebin.com/kyhfrBp9
答案 0 :(得分:53)
它发生在我身上,原来是因为 Charles Proxy 。
Charles Proxy 是一个HTTP调试代理服务器应用程序
解决方案(仅当您安装了Charles Proxy时):
答案 1 :(得分:21)
对我来说问题是android studio无法与之建立联系 'https://jcenter.bintray.com/'
将此更改为'http'为我解决了问题(虽然不建议这样做。)
在build.gradle文件中,更改
repositories {
jcenter()
}
到
repositories {
maven { url "http://jcenter.bintray.com"}
}
答案 2 :(得分:17)
好的,可能我迟到了但是从3.0升级到3.0.1后我遇到了这个问题。 而这个问题是因为我在受限制的网络中工作。
对我有用的解决方案如下:
<强>解决方案强>
第1步:获取证书
jcenter()
等于https://bintray.com/bintray/jcenter
您需要将导入jcenter的cerficate导入到您的java密钥库中。
使用浏览器访问jcenter并将证书导出为.cer文件。 (Firefox地址栏左侧的锁定图标或Chrome开发人员工具安全选项卡。但Internet Explorer和Edge不支持保存网站证书。)
第2步:导入证书
在Android Studio中,转到File -> Settings -> Tools -> Server Certificates
。
在接受证书下,点击+
。选择导出的证书。
第3步:刷新密钥库在Android Studio中,转到File -> Invalidate Caches/Restart...
。从显示的消息框中选择Invalidate and Restart
。
答案 3 :(得分:17)
如果您在受限制的工作场所工作,您可能会遇到此问题
一些事情的组合对我有用 基本上将https更改为http
来自https:
ERR_TOO_MANY_REDIRECTS
致:
Uploading artifacts...
storage/logs/lumen.log: found 1 matching files
Uploading artifacts to coordinator... ok id=1444 responseStatus=201 Created token=MHYPxxWu
并在repositories {
jcenter()
}
..
来自:
repositories {
maven { url "http://jcenter.bintray.com" }
}
致:
gradle-wrapper.properties
然后
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
验证:检查您的Gradle控制台。它应该开始通过HTTP从jcenter下载libs。
答案 4 :(得分:13)
即使这个问题很老,但很多人必须面对同样的问题,所以我想说明我是如何解决这个问题的。
问题是classpath 'com.android.tools.build:gradle:0.13.2'
通过build.gradle中的上一行,您要求它找到特定版本的gradle,但此版本不在您的计算机中。将上述行更改为
classpath 'com.android.tools.build:gradle:+'
答案 5 :(得分:10)
jcenter()等于https://bintray.com/bintray/jcenter
您需要将导入jcenter的cerficate导入到您的java密钥库中。
步骤:
如果您落后于代理,请在 gradle.properties 中,除了设置
systemProp.http.proxyHost 和 systemProp.http.proxyPort
也设置
systemProp.https.proxyHost 和 systemProp.https.proxyPort
到现在为止应该没事。
答案 6 :(得分:5)
我在具有代理/防火墙/病毒扫描程序组合的企业环境中,将公司自己的SSL根证书(自签名)添加到每个SSL连接的信任路径,以调查SSL连接。这正是问题所在。如果你处于相同的情况,这个解决方案可以提供帮助:
答案 7 :(得分:4)
对我而言,这是我的互联网,我正在开发限制网络
答案 8 :(得分:3)
尝试更新您的Android Studio,现在是版本1.0.2
答案 9 :(得分:3)
对我来说似乎是一个错误。 我遇到了同样的问题,并通过在我的项目目录中手动启动gradlew.bat来解决它。
答案 10 :(得分:2)
“无法找到到所请求目标的有效认证路径”
如果收到此消息,则可能是在您公司的Proxy后面,该代理可能正在使用公司根CA证书对所有请求证书进行签名,因此该证书仅在公司内部受信任,因此Android Studio无法验证任何证书签名并带有有效的公司证书,因此,您需要告诉Android Studio信任您的公司证书,您可以通过将公司证书添加到Android Studio信任库中来做到这一点。
(我在macOS上执行此操作,但在Linux或Windows上应该与此类似)
在弹出窗口中,要将根证书另存为文件,请确保选择证书链的顶层(根证书)并将证书映像拖到磁盘驱动器上的文件夹/目录中。它应另存为文件,例如: my-root-ca-cert.cer 或 my-root-ca-cert.pem
在Android Studio上,打开Preferences -> Tools -> Server Certificates
,
在框Accepted certificates
上单击加号图标(+
),搜索您之前保存的证书,然后单击Apply
和OK
在Android Studio中打开File -> Project Structure -> SDK Location -> JDK Location
复制“ JDK位置”的路径,然后打开“终端”,然后将目录更改为该路径,例如,执行:
cd /Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home/
(请不要忘记将空白换成“ \”)
现在,要将证书导入到信任库,请执行:
./bin/keytool -importcert -file /path/to/your/certificate/my-root-ca-cert.cer -keystore ./jre/lib/security/cacerts -storepass changeit -noprompt
File -> Invalidate Caches / Restart
完成,您现在应该可以构建您的项目。
答案 11 :(得分:2)
今天,在升级到Android Studio 3.2 Beta 2之后,我遇到了这个问题。我为OpenJDK 10.0.1配置了我的JDK,并且在升级后抛出了此错误。我将JDK重新设置为使用嵌入式JDK,错误消失了。
我不知道为什么在升级到Beta 2之前它能正常工作,但是现在一切都很好。老实说,我想不需要Android的OpenJDK 10。
答案 12 :(得分:1)
转到右下方的Gradle控制台并打开它。在这里,您将看到一些https / https调用点击链接并在Web浏览器中打开它们然后尝试干净的构建它对我有用。
我认为这种情况正在发生,因为工作室无法从点击中获得响应。
答案 13 :(得分:1)
我的公司让我们使用了FortiClient VPN,这导致了此错误的发生。
尝试断开与VPN的连接(如果适用),然后重试。
答案 14 :(得分:1)
使用NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// The id of the channel.
String id = "xxx";
// The user-visible name of the channel.
CharSequence name = "xxx";
// The user-visible description of the channel.
String description = "xxx";
int importance = NotificationManager.IMPORTANCE_DEFAULT;
NotificationChannel mChannel = new NotificationChannel(id, name, importance);
// Configure the notification channel.
mChannel.setDescription(description);
mChannel.enableLights(true);
// Sets the notification light color for notifications posted to this
// channel, if the device supports this feature.
mChannel.setLightColor(Color.RED);
mChannel.enableVibration(true);
mChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400});
mNotificationManager.createNotificationChannel(mChannel);
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// The id of the channel.
String CHANNEL_ID = "xxx";
// Create a notification and set the notification channel.
Notification notification = new Notification.Builder(this,"xxx")
.setSmallIcon(R.drawable.volusha_notifications)
.setContentText(text)
.setChannelId(CHANNEL_ID)
.setContentIntent(pendingIntent)
.setContentTitle(title)
.setAutoCancel(true)
.build();
// Issue the notification.
mNotificationManager.notify(new Random().nextInt(), notification);
&amp;升级到Android Studio 3.1.2
后,我遇到了类似的错误gradle 4.4
,然后尝试了几乎所有上述解决方案,并再次生成相同的错误。试。
plugin 3.1.2
终于帮了我一个忙:Invalidate Caches / Restart
&gt; File
&gt; Invalidate Caches / Restart...
答案 15 :(得分:1)
在build.gradle文件中正确添加最新的gradle版本,在gradle-wrapper.properties文件中添加最新的distributeUrl。 [请参考https://developer.android.com/studio/releases/gradle-plugin.html获取android studio的最新gradle版本]
确保网络连接正常[网络连接不应阻止在android studio中升级gradle]。 在gradle升级后,android studio会提示接受/拒绝证书,我们应该接受证书。
答案 16 :(得分:1)
我得到了它,因为我在代理人后面。我在gradle.properties中设置了http而不是https代理。在这种情况下需要Https:
systemProp.http.proxyHost=<host>
systemProp.http.proxyPort=<port>
systemProp.https.proxyHost=<host>
systemProp.https.proxyPort=<port>
另外,请查看Android Studio日志,了解错误的位置。
答案 17 :(得分:0)
如果问题仍然存在,请尝试删除“ C:\ Users \ UserName \ .AndroidStudio1.2 ”下的名为“ .AndroidStudio1.2 ”的目录。 / p>
当然,根据您的版本
,名称会有所不同这对我有用
答案 18 :(得分:0)
有时会因网络问题而发生,请尝试
更改为无限制网络后,请尝试[卸载android studio]并再试一次..
[卸载android studio]:How to completely uninstall Android Studio from windows(v10)?
答案 19 :(得分:0)
通常会在您包含依赖项并且没有像mavenCentral()或jcenter()等存储库引用来下载它时发生
我通常会确定这样的依赖关系被设置为脱机工作,Android工作室将自动显示本地不可用的依赖关系,然后在其提供者github页面中查找依赖关系详细信息,例如从哪个存储库中选择和更新你的存储库并沉没它。希望它能起作用
答案 20 :(得分:0)
我遇到了同样的问题,这是由于Cyberoam阻止了我的后续网址
原因:org.gradle.api.resources.ResourceException:无法从https://maven.fabric.io/public/io/fabric/tools/gradle/maven-metadata.xml加载Maven元数据。
答案 21 :(得分:0)
我更改(更新)了我的gradle版本,并且可以正常工作 表格
classpath 'com.android.tools.build:gradle:3.1.4'
收件人
classpath 'com.android.tools.build:gradle:3.3.0'
答案 22 :(得分:0)
检查系统中的诸如fiddler之类的代理应用程序,如果该应用程序正在运行,请关闭该应用程序并重新启动android studio
答案 23 :(得分:0)
由于这是由网络配置错误引起的,因此您只需将智能手机设置为使用 USB 网络共享共享其互联网连接并使用它下载丢失的软件包。
答案 24 :(得分:-1)
这是我的消息关键短语解决方案:“无法找到有效的认证路径”和“ PKIX路径构建失败”。
当找不到SSL认证文件时,将显示这些短语。
在浏览器中打开https://jcenter.bintray.com/并以cer格式导出证书。
将证书放入Android Studio的cert文件夹
{your-home-directory}/.AndroidStudio3.0/system/tasks/cacerts
然后一切顺利。
答案 25 :(得分:-2)
这太奇怪了。我们挣扎了很多。重新启动工作机后问题消失了。魔术...