解决flutter:unable to find valid certification path to requested target 的问题

1、问题

周末在家想搞搞flutter,家里电脑是windows的,按照官网教程一步步安装好以后,创建flutter工程,点击运行,一片红色弹出来,WTF?

image

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

2、尝试

(1)导入证书

https://blog.csdn.net/frankcheng5143/article/details/52164939

第一次遇到这个问题,上网查了下,基本都说是证书问题,但是我用浏览器是可以正常打开这些网址的,也按照网上的解决方案导入了证书,然而还是不行,不清楚是不是哪里做错了。

(2)手动下载

尝试手动下载gradle,放到对应目录,然后flutter顺利通过了gradle初始化这一步,最后卡在了依赖包下载...还是相同的问题。

gradle下载地址:http://services.gradle.org/distributions/

PS:这里说明一下,如果android studio里面修改了gradle的默认位置,需要注意,flutter读取的还是C盘下那个默认的.gradle路径,而不是studio里面设置的路径。能不能改我也不太清楚,如果要手动下载,需要放到C盘。

(3)国内镜像

再试试国内镜像,在gradle添加了阿里的镜像地址:

maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }

OK,还是不行。

(4)https http

https://blog.csdn.net/codekxx/article/details/82726709?tdsourcetag=s_pcqq_aiomsg

既然是SSL的问题,再试一下把https改为http,点击运行,仍然报错。不过细心看下,发现报错的包不同了,意思是刚刚的包应该下载成功了?有戏!

3、我的解决方法

结合上面第四种方法,再结合最后看的一个方法:https://github.com/flutter/flutter/issues/23404?tdsourcetag=s_pcqq_aiomsg

最后把gradle的repo改为了:

maven {
    url 'https://dl.google.com/dl/android/maven2'
}
jcenter{
    url 'http://jcenter.bintray.com'
}
google()

并且,flutter sdk下还有个gradle也要改:

flutter\packages\flutter_tools\gradle\flutter.gradle

而且,这样还不行!!! 需要用android studio打开flutter工程的android目录,然后点击gradle同步,等下载完成以后,再回到flutter工程,点击运行,终于可以了。。。

如果大家有什么更好的解决方法,希望能交流一下~

posted @ 2019-09-08 18:04  jyau  阅读(3349)  评论(0编辑  收藏  举报