解决Android Studio创建项目时gradle同步失败“unable to find valid certification path to requested target”

软件版本

  • Android Studio 3.5.1
  • AndroidSDK 29(第一次打开AS默认下载的)
  • gradle 5.4.1 插件3.5.1

问题

下载好SDK创建新项目时,build页面显示gradle同步失败
没有截图,图片引自

https://blog.csdn.net/m0_37292262/article/details/81395369

解决Android Studio创建项目时gradle同步失败“unable to find valid certification path to requested target”_第1张图片
通过日志发现gradle已经下载成功了,但是有一些资源(pom文件)因为证书问题获取不到。
我使用的是阿里云的仓库
maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}
之后依然报出了该仓库上的资源无法get
解决Android Studio创建项目时gradle同步失败“unable to find valid certification path to requested target”_第2张图片
然后——在我某天杀毒时,电脑管家告诉我SSL协议未开启,正好想起有一个报错是Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target,就开启试了一下,但是并没有成功。之后找到默认浏览器Chrome,在设置-高级-打开代理设置-高级-使用SSL3.0,结果成功了。(之前还下载了阿里云的证书添加到浏览器中,不过这个操作并没有同步成功,或许对后面的结果有影响,我并没有去试验。)
解决Android Studio创建项目时gradle同步失败“unable to find valid certification path to requested target”_第3张图片
解决Android Studio创建项目时gradle同步失败“unable to find valid certification path to requested target”_第4张图片
解决Android Studio创建项目时gradle同步失败“unable to find valid certification path to requested target”_第5张图片
这是我自己的界面
解决Android Studio创建项目时gradle同步失败“unable to find valid certification path to requested target”_第6张图片

总结

总结一些整个过程

  • 安装AS 3.5.1一路next,安装完成后打开AS有一个提示no SDK on list之类的,略过他,选择standard模式继续安装(这样AS和SDK都在C盘),最后提示SDK和Intel HAXM updated successfully。创建一个空项目,开始同步,并下载gradle5.4.1和插件。
  • 掉进坑里后,经历过重装AS,使用其他仓库,下载,使用代理,导入证书到jdk,使用本地gradle,修改gradle路径为更详细的(都是网上找的方法,都没有解决)
  • 关于证书的导入,我导入时jdk目录不允许访问,就没有成功。
  • 最后整个状态是:gradle的设置保持原样,即使用它推荐的目录,jdk是本地的jdk1.8,使用了代理(这个可能无关紧要,我当时忘记删掉了)
    http://mirrors.neusoft.edu.cn解决Android Studio创建项目时gradle同步失败“unable to find valid certification path to requested target”_第7张图片

关于SSL3.0

我并不了解这个协议,谷歌浏览器是默认关闭SSL3.0的。
网上的说法是:

SSL/TLS 系列中有五种协议:SSL v2,SSL v3,TLS v1.0,TLS v1.1和TLS v1.2:
SSL v2 是不安全的,不能使用。
当与 HTTP(POODLE 攻击)一起使用时,SSL v3 是不安全的,当与其他协议一起使用时,SSL v3 是弱的。它也是过时的,不应该被使用。

不知道打开SSL3.0对日常上网会有什么影响。

你可能感兴趣的:(随笔,Android,Studio,gradle)