Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)

綠血貴族發表於2018-07-19

作為一個面向百度和麵向DEMO程式設計的程式設計師,我學習新的技術和框架,首先第一就是研究一下別人的開原始碼,為我所用嘛。

然而,從github下載的Flutter專案。並不是直接可以被IDE匯入和自動化完成配置的,無論是Vscode直接開啟還是Android Studio File->Open,開啟的專案可以在Xcode的iOS模擬器直接執行,但是Android模擬器就不行。

iOS模擬器直接可以執行:

Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)

Android就不能除錯執行:

Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)

報錯資訊大概就是gradle構建的指令碼執行問題。

第一種通用的解決方法:

於是,我全域性安裝gradle:

brew install gradle

Windows上安裝請到官網下載gradle最新檔案包然後在環境變數把gradle的bin目錄配置到系統環境變數,確保在PS(PowerShell)或者CMD可以執行gradle命令。官網還有各個平臺的安裝方法,這裡就不多說了!

Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)

安裝完成還是沒法執行。

於是在Vscode專案,Android目錄滑鼠右鍵選擇在Android Studio開啟專案。

Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)

開啟Android Studio時候一切按照預設的選擇提示,然後切換工程檔案為Android專案。

Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)

等待Android Studio的自動構建同步。

然後終於發現問題之所在:

Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)

原因是下載的別人的專案,構建專案的時候不會把Flutter SDK配置更改為我們自己本機的SDK配置目錄。

解決辦法就是自己手動配置自己本機的Flutter SDK資訊:

Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)

新增自己的flutter sdk目錄和版本等資訊:

flutter.sdk=/Users/jiankian/Applications/flutter
flutter.versionName=1.0.0
flutter.versionCode=1
flutter.buildMode=debug複製程式碼

效果如下:

Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)

在Android Studio 中選擇同步更新gradle配置(Vscode中則構建工具自動完成):

Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)

然後有爆出錯誤,在下邊提示區的藍色超連結點選繼續,下載相應的依賴即可。

Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)

更新完成後便可執行了!

Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)

第二種mac/linux平臺的解決方法:

dos平臺和unix檔案換行符不通用,在macOS平臺,安裝dos2unix

brew install dos2unix複製程式碼

然後,把報錯的路徑的gradle檔案轉為unix平臺換行符

dos2unix ./android/gradle複製程式碼


相關文章