解决AndroidStudio显示 unable to find valid certification path to requested target 问题
前言
无论学习还是工作,经常碰得到AndroidStudio显示 unable to find valid certification path to requested target 这样的问题,大致意思就是没有访问某个网页的有效证书,不过网页却是可以访问没问题,中间试了很多方法,网上的各种办法也基本都试过了,有的好用,有的却不行,当然可能有助于别人,但对我而言却遗憾了。
经过不断地查找解决办法和尝试,最后还是有了个稳定点地解决方案,感谢网上提供支持地各位朋友。
解决方案
具体办法是打开 Project 地 build.gradle 文件,将里面地内容修改成我这样:
buildscript {
repositories {
mavenCentral()
jcenter()
mavenLocal()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenCentral()
jcenter()
mavenLocal()
google()
}
}
具体不同地地方就在 repositories 中添加地 mavenCentral() 和 mavenLocal() 两个函数,顺序别错,再点击右上角地 Sycn Now , 和网络情况有关,多试几次基本能解决,我试过很多项目,目前是百分百成功。
其他解决办法
其实在这个解决过程中,我还是试了很多其他办法地,下面就简单讲讲,具体地百度吧,应该都有。
更换Gradle文件
这个办法就是靠别人没问题的AndroidStudio来解决了,需要复制正常电脑的 C:\Users\user.gradle 文件夹,最好压缩一下再复制,有问题的电脑先把这个文件夹删除,再解压复制过来的文件,这样速度快一些。
这个办法对于需要一样编译环境的电脑很有帮助,不使用新东西的项目可以正常使用,但是一旦引入了新的文件,那就没办法了。实际就是 .gradle 文件夹里面缓存的一些库文件在AndroidStudio需要使用,但是文件目录很乱,还不如直接复制呢。
安装证书
网上其他介绍都是安装证书的介绍,这就不详细讲解,大概有这么几种:
- 从网页下载证书,给jdk安装上
- 从网页下载证书,从AndroidStudio中导入
- 从网页下载证书,给AndroidStudio自带的jdk安装上
- 用Java代码获取证书,给jdk装上
科学上网
实际就是连不上外国网站,这个不细说。
Android Studio测试连接
这个是新看到的一个方法,我没怎么用过,大致记录一下。意思就是在Android Studio的 setting 中,选择 Appearance & Behave -> System Setting -> HTTP Proxy 中的 auto-detect prioxy settings ,输入有问题的资源链接,点击下面的Check connection按钮,这个会测试报错的网址,如果测试没问题,Android Studio就会自动加入证书,重新编译就可以了。