作為一個面向百度和麵向DEMO程式設計的程式設計師,我學習新的技術和框架,首先第一就是研究一下別人的開原始碼,為我所用嘛。
然而,從github下載的Flutter專案。並不是直接可以被IDE匯入和自動化完成配置的,無論是Vscode直接開啟還是Android Studio File->Open,開啟的專案可以在Xcode的iOS模擬器直接執行,但是Android模擬器就不行。
iOS模擬器直接可以執行:
Android就不能除錯執行:
報錯資訊大概就是gradle構建的指令碼執行問題。
第一種通用的解決方法:
於是,我全域性安裝gradle:
brew install gradle
Windows上安裝請到官網下載gradle最新檔案包然後在環境變數把gradle的bin目錄配置到系統環境變數,確保在PS(PowerShell)或者CMD可以執行gradle命令。官網還有各個平臺的安裝方法,這裡就不多說了!
安裝完成還是沒法執行。
於是在Vscode專案,Android目錄滑鼠右鍵選擇在Android Studio開啟專案。
開啟Android Studio時候一切按照預設的選擇提示,然後切換工程檔案為Android專案。
等待Android Studio的自動構建同步。
然後終於發現問題之所在:
原因是下載的別人的專案,構建專案的時候不會把Flutter SDK配置更改為我們自己本機的SDK配置目錄。
解決辦法就是自己手動配置自己本機的Flutter SDK資訊:
新增自己的flutter sdk目錄和版本等資訊:
flutter.sdk=/Users/jiankian/Applications/flutter
flutter.versionName=1.0.0
flutter.versionCode=1
flutter.buildMode=debug複製程式碼
效果如下:
在Android Studio 中選擇同步更新gradle配置(Vscode中則構建工具自動完成):
然後有爆出錯誤,在下邊提示區的藍色超連結點選繼續,下載相應的依賴即可。
更新完成後便可執行了!
第二種mac/linux平臺的解決方法:
dos平臺和unix檔案換行符不通用,在macOS平臺,安裝dos2unix
brew install dos2unix複製程式碼
然後,把報錯的路徑的gradle檔案轉為unix平臺換行符
dos2unix ./android/gradle複製程式碼