Flutter配置环境报错“PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target”
背景:最近看了很多Flutter漂亮的项目,想要尝试一下。所有环境都搭建好之后,按照文档一步一步配置(抄袭),但始终报如下图错误。
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
找不到所请求目标的有效证书路径
起初以为只是Flutter有这个问题,一想到和Android有关,马上回想起之前的Ionic项目,进行打包看看有没有同样的问题。果然,Ionic运行后也出现一模一样的情况,瞬间头都大了。
看问题描述像是Java的问题,可是没接触过Java咋办,只能查阅资料
上述问题经过无数次百度,Google,博客园,CSDN,Stack Overflow各种资料的查阅(近两年的问答都看完了,真心酸)。
尝试导入过证书,修改过阿里云仓库地址,更换代理
以上内容通通试了个遍
很遗憾没有一种方式能够解决。
经过将近十天的各种折腾,终于在某个下午做完工作后,突然脑子里灵光一闪,逐步分析排查并摸索(瞎整)出了解决问题的办法,特此分享给遇到同样问题的朋友们。
首先,通过Android Studio打开Flutter项目中的android文件夹
如果是初次打开,编译器会自动对相关package进行下载,然后就会报上面的错误,因此可以定位问题和这个文件夹内的东西有关。
不要慌,发现问题我们才好解决。点开上方菜单栏 “File-Projet Structure”对话框,这里是解决问题的主战场。
SDK Location,用于配置Android SDK和Java JDK,Android Studio默认使用自己的JDK,这里可以改成我们自己安装的Java JDK(这一步可以忽略)。
接下来,我们打开Dependencies窗口,选中app一栏。可以看到很多带波浪线的依赖,强迫症请点击下方[Update](这一步也可以忽略)
接下来是真正解决问题的步骤了,
请耐心看!
请耐心看!!
请耐心看!!!
我们回到之前的报错信息,虽然错误信息报的是安全信息的问题,但是我们通过浏览器却可以打开这个地址,我们把缺失的包下载到本地(网络问题请尝试多次下载)
PS:每个人的包名可能不一样
下载好之后,我们回到刚才的依赖管理界面,点击上方的“+”,选择“Jar Dependency”。将我们下载好的包的地址填写进去,并点击OK。
此时会再一次进行同步,同步完成后有可能依旧报错,但是发现这次报错的包是另外一个名字,我们再次。请重复上述操作,直到不缺失任何东西。
添加完所有的本地包之后,可以看到下方的Buid信息一直在进行下载,打开网络监控发现凶手果然是java.exe,由于是去国外下载请耐心等待。
经过十分钟漫长的等待,终于完完全全的Build完毕,并且没有报任何错误了!(此时我都想放鞭炮大摆宴席了,但是习主席说过绿水青山就是金山银山,我们听主席的教诲做合格党员,保护环境人人有责)
此时,我们回到上一层的Flutter项目,准备Run !
终于在模拟器上看到了漂亮的界面,大功告成!
守得云开见月明,这十多天的折磨,终于自己摸索出了解决方案,感觉头都要秃了。
希望我的方法能够解决到你的问题,让你少掉点头发。
PS:晚上奖励自己两碗饭。
Flutter配置环境报错“PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target”的更多相关文章
- mvn 编译报错mavn sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targ
mavn 编译报错: mavn sun.security.validator.ValidatorException: PKIX path building failed: sun.security.p ...
- java程序中访问https时,报 PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
在java中使用https访问数据时报异常: Caused by: sun.security.validator.ValidatorException: PKIX path building fail ...
- Maven:sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
还是记录使用 maven 时遇到的问题. 一.maven报错 maven package 进行打包时出现了以下报错: Non-resolvable parent POM for com.wpbxin: ...
- 解决 java 使用ssl过程中出现"PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"
今天,封装HttpClient使用ssl时报一下错误: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorExc ...
- PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
注:网上搜来的快照,暂未验证 在java代码中请求https链接的时候,可能会报下面这个错误javax.net.ssl.SSLHandshakeException: sun.security.vali ...
- 报错PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"
今天在调用第三方HTTPS接口的时候,一直显示这个报错,然后百度很久,有2种解决方法,一个是说自己手动去导入,第二种用代码忽略证书验证.我用二种方式, 复制即用, public void test2( ...
- sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
httpclient-4.5.jar 定时发送http包,忽然有一天报错,http证书变更引起的. 之前的代码 try { CloseableHttpClient httpClient = build ...
- maven PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path
maven编译的时候遇到的奇葩问题, 非常奇葩, 所有其他同事都没有遇到 , 仅仅是我遇到了 不清楚是因为用了最新的JDK的缘故(1.8 update91)还是其他什么原因. 总之是证书的问题. 当 ...
- ES访问遇到sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
cmd命令cd到jre/bin目录下 输入命令keytool -import -alias 别名 -keystore cacerts -file C://certs//elasticsearch// ...
随机推荐
- Linux系统添加新用户
Linux系统中一般不直接使用root用户进行操作,需要添加新的用户. 首先,查看当前系统已有的用户 cat /etc/passwd 查看用户组 cat /etc/group 其次,添加想要的用户组和 ...
- mac安装并配置nexus3.5.1版本
一.安装nexus 前置条件 :已经安装了JDK 1:下载nexus(http://www.sonatype.com/download-oss-sonatype) 最新版本(我的是3.5.1). 2: ...
- 暑假集训第六周contest1
51Nod - 1413 权势二进制 题意:就是讲给出一个数n,让你求最少由多少个像0,1,10,11......这样的二进制数相加构成:样例n=9就是由9个二进制1相加组成,我不懂比赛的时候我为什么 ...
- Python---10小结
因一边上班一边自学python,一旦忙起来,python就会放两天,可是2天后之前学的内容就会有点忘记. 今天把python的各种启动方法总结一下; 我的文档路径: ------- 1打开文件所在的c ...
- Android 开发技术周报 Issue#270
新闻 Play Store应用更新:换主题不需要再到系统设置了 新证据表明谷歌Fuchsia系统已进入"狗粮"阶段 即将邀请用户测试 谷歌I/O 2020 开发者大会如期举行 MW ...
- Day 1 模拟
1. P1088 火星人 利用STL中的next_permutation();函数求一种排列的下一种排列,循环m次即为答案.(STL大法好~~C++是世界上最好的语言~~逃 #include < ...
- metrics模块
class sklearn.metrics 方法 1.分类问题的度量 metrics.accuracy_score metrics.auc metrics.f1_score metrics.preci ...
- 逆向破解之160个CrackMe —— 001(上)
CrackMe--001 前置知识介绍: 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合,一共160个待逆向破解的程序 CrackMe:一些公开给别人尝试破解的小程序,制 ...
- vue路由传参页面刷新参数丢失问题解决方案
最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...
- CKEditor4.7怎样实现上传图片,浏览服务器(无需ckfinder),nodejs图片管理,字体居中,图片居中(超详细)
首先是下载CKEditor,下载地址:http://ckeditor.com/download 选择里面的Customize自定义,如图 然后进入配置界面,第一个choose preset一般就选st ...