Flutter配置環境報錯“PKIX 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:晚上獎勵自己兩碗飯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章