【问题标题】:Gradle sync failed: Cause: unable to find valid certification path to requested target on MacOSGradle 同步失败:原因:无法在 MacOS 上找到请求目标的有效证书路径
【发布时间】:2021-06-01 20:40:58
【问题描述】:

我有以下配置:

  • MacOS 11.0.1(MacOS 防火墙已关闭)
  • Android Studio 4.1.2
  • Android Gradle 插件版本 4.1.1
  • Gradle 6.5 版
  • Java jdk 版本 1.8.0_251

Gradle build 开始在我所有的项目中报错,所以我猜它与特定的项目配置(build.gradle 等)无关。

相同的项目在 Windows 上的相同 Android Studio、Gradle 和 JDK 版本上正常构建和运行。

我已经尝试过但没有帮助的步骤:

  • 重建项目
  • 使缓存无效/重新启动
  • 从头开始重新安装 Android Studio,按照说明完全卸载 (How to completely uninstall Android Studio on Mac?)
  • 全新安装从https://developer.android.com/studio 下载的 Android Studio
  • 使用 JetBrains Toolbox 进行全新安装
  • 手动将证书(从浏览器下载)添加到 Android Studio(首选项/工具/服务器证书)和 Java 密钥库
  • 安装 Android Studio 4.2 beta 5
  • 安装更新版本的 JDK (1.8.0_281)

错误详情:
Gradle 同步失败:原因:无法找到到所请求目标的有效证书路径

FAILURE:构建失败并出现异常。 * 什么地方出了错: 配置根项目“项目名称”时出现问题。 > 无法解析配置“:classpath”的所有工件。 > 无法解析 com.android.tools.build:gradle:4.1.1。 要求: 项目 : > 无法解析 com.android.tools.build:gradle:4.1.1。 > 无法获取资源“https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/4.1.1/gradle-4.1.1.pom”。 > 无法获取“https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/4.1.1/gradle-4.1.1.pom”。 > sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径 > 无法解析 com.google.gms:google-services:4.3.4。 要求: 项目 : > 无法解析 com.google.gms:google-services:4.3.4。 > 无法获取资源“https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.3.4/google-services-4.3.4.pom”。 > 无法获取“https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.3.4/google-services-4.3.4.pom”。 > sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径 > 无法解析 com.google.firebase:firebase-crashlytics-gradle:2.4.1。 要求: 项目 : > 无法解析 com.google.firebase:firebase-crashlytics-gradle:2.4.1。 > 无法获取资源“https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics-gradle/2.4.1/firebase-crashlytics-gradle-2.4.1.pom” . > 无法获取“https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics-gradle/2.4.1/firebase-crashlytics-gradle-2.4.1.pom”。 > sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

这似乎是网络问题,但我尝试对不同的提供商使用不同的连接解决方​​案,有或没有 VPN。

所有提到的文件都可以访问,我可以使用 wget 从终端下载它们

wget https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.3.4/google-services-4.3.4.pom --2021-03-04 12:42:32-- https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.3.4/google-services-4.3。 4.pom 正在解析 dl.google.com (dl.google.com)... 216.58.214.206 正在连接到 dl.google.com (dl.google.com)|216.58.214.206|:443... 已连接。 HTTP 请求已发送,等待响应... 200 OK 长度:1576 (1,5K) [应用程序/八位字节流] 保存到:“google-services-4.3.4.pom.1” google-services-4.3.4.pom.1 100%[==================================== ==================================================> ] 1,54K --.-KB/s in 0s 2021-03-04 12:42:32 (11,3 MB/s) - 'google-services-4.3.4.pom.1' 已保存 [1576/1576]

【问题讨论】:

    标签: java macos android-studio gradle


    【解决方案1】:

    我已经被完全相同的错误困扰了好几天了,和你一样,我几乎尝试了所有方法。

    最后我在 Android Studio 中发现了一些东西。我去了 Http Proxy 首选项选项卡,我看到一条消息说

    您已将 JVM 属性“https.proxyHost”设置为“localhost”....

    我试图通过放置以下行来覆盖此值:

    systemProp.https.proxyHost=

    在我的项目 gradle.properties 文件和 tadaaa 中!它有效,但我真的不明白发生了什么......

    希望对您有所帮助;)

    【讨论】:

    • 谢谢!这似乎是一种临时的解决方法,但它对我有用:)
    • 我已经重装了 3 次 Android Studio :(
    • 你救了我的命.. 非常感谢这个回答
    • 不知道为什么会这样,但感谢您的保存:)
    • “我去了 Http Proxy 首选项选项卡,我看到一条消息说”,你能告诉这个“选项卡”在 Android Studio for windows 中的位置吗?我找不到它。
    【解决方案2】:

    经过进一步研究...由于某种原因,MacOS 网络代理设置已更改,这就是 Android Studio 发出警告的原因:

    您已将 JVM 属性“https.proxyHost”设置为“localhost”....

    要解决此问题,请转到

    系统偏好设置/网络/高级(适用于您使用的网络)/代理

    并取消选择 Web 代理和安全 Web 代理

    【讨论】:

    • 这是我需要的答案
    • “我去了 Http Proxy 首选项选项卡,我看到一条消息说”,你能告诉这个“选项卡”在 Android Studio for windows 中的位置吗?我找不到它。
    • 我做到了,但仍然收到相同的警告:(
    • @OliverD 尝试在第一个答案中使用参数覆盖此设置...在 gradle.properties 文件中添加 systemProp.https.proxyHost=。因为这显然是一个网络问题......
    • 我的 Mac 上有一些恶意代理设置。取消勾选,一切都很好 +1
    猜你喜欢
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 2013-02-03
    相关资源
    最近更新 更多