背景:最近看了很多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”的更多相关文章

  1. 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 ...

  2. 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 ...

  3. 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: ...

  4. 解决 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 ...

  5. 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 ...

  6. 报错PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"

    今天在调用第三方HTTPS接口的时候,一直显示这个报错,然后百度很久,有2种解决方法,一个是说自己手动去导入,第二种用代码忽略证书验证.我用二种方式, 复制即用, public void test2( ...

  7. 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 ...

  8. maven PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path

    maven编译的时候遇到的奇葩问题,  非常奇葩, 所有其他同事都没有遇到 , 仅仅是我遇到了 不清楚是因为用了最新的JDK的缘故(1.8 update91)还是其他什么原因. 总之是证书的问题. 当 ...

  9. 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// ...

随机推荐

  1. unittest(2)-加载用例的3种方式-输出测试报告

    # 导入测试类执行测试用例 import unittest from day_20191202.class_unittest import TestMathMethod, TestMulti # fr ...

  2. Luogu1681_ 最大正方形II

    题目背景 忙完了学校的事,v神终于可以做他的"正事":陪女朋友散步.一天,他和女朋友走着走着,不知不觉就来到了一个千里无烟的地方.v神正要往回走,如发现了一块牌子,牌子上有有一行小 ...

  3. Laravel wxxcx 微信小程序获取用户信息

    wxxcx 是Laravel5微信小程序登录获取用户信息扩展 部署 12345678 # 安装$ composer require iwanli/wxxcx# 注册服务# 在 /config/app. ...

  4. 扎心!来自互联网er的2019年度总结,看完笑着流泪……

    转眼2019年已经接近尾声,又到了年度总结的时候了.过去一年,你加了多少班,熬了多少夜,回想起来历历在目.互联网人2019年度总结,看完扎心了-- 01 - 这一年里 你一共提了275个需求 其中27 ...

  5. Redis-输入输出缓冲区

    一.client list id:客户端连接的唯一标识,这个id是随着Redis的连接自增的,重启Redis后会重置为0addr:客户端连接的ip和端口fd:socket的文件描述符,与lsof命令结 ...

  6. 作为前端,你需要懂得javascript实现继承的方法

    在ES6之前,javascript不跟其他语言一样,有直接继承的方法,它需要借助于构造函数+原型对象模拟实现继承.现在我们可以利用ES6的extends方法实现继承,如果想了解更多有关ES6实现的继承 ...

  7. 编写一个可复用的SpringBoot应用运维脚本

    前提 作为Java开发者,很多场景下会使用SpringBoot开发Web应用,目前微服务主流SpringCloud全家桶也是基于SpringBoot搭建的.SpringBoot应用部署到服务器上,需要 ...

  8. Java入门教程六(内置包装类)

    Java 是一种面向对象的编程语言,Java 中的类把方法与数据类型连接在一起,构成了自包含式的处理单元.但在 Java 中不能定义基本类型对象,为了能将基本类型视为对象处理,并能连接相关方法,Jav ...

  9. 小白学 Python 数据分析(13):Pandas (十二)数据表拼接

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  10. python实验一

    安徽工程大学 Python程序设计实验报告 班级物流管理191 姓名彭艺    学号3190505139成绩          日期  2020年3月3日     指导老师    修宇 实验名称    ...