1、問題
周末在家想搞搞flutter,家里電腦是windows的,按照官網教程一步步安裝好以后,創建flutter工程,點擊運行,一片紅色彈出來,WTF?
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工程,點擊運行,終於可以了。。。
如果大家有什么更好的解決方法,希望能交流一下~