Flutter:環境配置問題

一、基本安裝按照官網文檔即可

https://flutter.io/docs/get-started/install/windows

flutter目前在快速迭代中,建議直接同步github上的代碼即可

因爲通過release的包安裝的版本,也就是一個git庫

二、我的安裝環境爲

windows 7 + vs code + android sdk

我也安裝了android studio,實際可以不必安裝

三、通過命令 flutter doctor 檢查是否配置成功

問題一:提示No devices available

就是沒有找到設備,可以用實體機,也可以用模擬器,用AVD Manager創建一個。

我是用Genymotion來創建的,相對資源佔用少一點(注:Genymotion的鏡像下載很慢,可以到C:\Users\xx\AppData\Local\Genymobile\genymotion.log裏獲得下載的地址,通過下載工具下載後,複製到C:\Users\xx\AppData\Local\Genymobile\Genymotion\ova下,即可)

問題二:X Android license status unknown.

[flutter] flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.0.0, on Microsoft Windows [Version 6.1.7601], locale zh-CN)
[!] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    X Android license status unknown.
[√] Android Studio (version 3.2)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code (version 1.30.1)
[√] Connected device (1 available)

這個提示最碰到的,也最麻煩,查找flutter的github上的issues,一般的回答都是用flutter doctor --android-licenses,正常情況下是可以,類似這樣,一路就可以了

C:\Users\xx>flutter doctor --android-licenses
Warning: Observed package id 'build-tools;28.0.0-rc2' in inconsistent location 'D:\PlatformSDKs\android-sdk-windows\build-tools\28.0.0-preview' (Expected 'D:\PlatformSDKs\android-sdk-windows\build-tools\28.0.0-rc2')
Warning: Observed package id 'tools' in inconsistent location 'D:\PlatformSDKs\android-sdk-windows\tools2' (Expected 'D:\PlatformSDKs\android-sdk-windows\tools')
Warning: Already observed package id 'tools' in 'D:\PlatformSDKs\android-sdk-windows\tools'. Skipping duplicate at 'D:\PlatformSDKs\android-sdk-windows\tools2'
Warning: Observed package id 'build-tools;28.0.0-rc2' in inconsistent location 'D:\PlatformSDKs\android-sdk-windows\build-tools\28.0.0-preview' (Expected 'D:\PlatformSDKs\android-sdk-windows\build-tools\28.0.0-rc2')
Warning: Observed package id 'tools' in inconsistent location 'D:\PlatformSDKs\android-sdk-windows\tools2' (Expected 'D:\PlatformSDKs\android-sdk-windows\tools')
Warning: Already observed package id 'tools' in 'D:\PlatformSDKs\android-sdk-windows\tools'. Skipping duplicate at 'D:\PlatformSDKs\android-sdk-windows\tools2'
5 of 6 SDK package licenses not accepted. 100% Computing updates...
Review licenses that have not been accepted (y/N)? y

但很多情況是這樣的

C:\Users\95>flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
D:\PlatformSDKs\android-sdk-windows\tools\bin\sdkmanager --update

接着按提示輸入 sdkmanager --update

C:\Users\xx>D:\PlatformSDKs\android-sdk-windows\tools\bin\sdkmanager --update
Warning: Observed package id 'build-tools;28.0.0-rc2' in inconsistent location 'D:\PlatformSDKs\android-sdk-windows\build-tools\28.0.0-preview' (Expected 'D:\PlatformSDKs\android-sdk-windows\build-tools\28.0.0-rc2')
Warning: Observed package id 'build-tools;28.0.0-rc2' in inconsistent location 'D:\PlatformSDKs\android-sdk-windows\build-tools\28.0.0-preview' (Expected 'D:\PlatformSDKs\android-sdk-windows\build-tools\28.0.0-rc2')
Warning: An error occurred during installation: Failed to move away or delete existing target file: D:\PlatformSDKs\android-sdk-windows\tools
Move it away manually and try again..
done

會報錯,是因爲執行sdkmanager --update會重新創建一個tools目錄。所以要改名當前的tools目錄,再執行sdkmanager --update即可。另外android-sdk需要更新包,要事先更新,比如上面提示的28.0.0.rc2

四、再次執行flutter doctor

[flutter] flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.0.0, on Microsoft Windows [Version 6.1.7601], locale zh-CN)
[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[√] Android Studio (version 3.2)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code (version 1.30.1)
[√] Connected device (1 available)

• No issues found!
exit code 0

就提示 no issues了,我暫沒有用android studio做flutter項目,不理android studio的提示

五、創建第一個項目 https://flutter.io/docs/get-started/test-drive?tab=vscode

問題一:第一個創建項目編譯比較慢,主要是要下載gradle庫,庫相對大一點,很可能會超時

Exception in thread "main" java.lang.RuntimeException: Timeout of 120000 reached waiting for exclusive access to file: C:\Users\xx\.gradle\wrapper\dists\gradle-4.10.2-all\9fahxiiecdb76a5g3aw9oi8rv\gradle-4.10.2-all.zip

C:\Users\xx\.gradle\wrapper\dists 這個目錄有自動下載各種版本的gradle包。

你可以更改,gradlew.bat中的set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 爲某一個grable版本

你也可以多試幾次,或者手動下載gradle-4.10.2-all.zip,然後複製到上面的目錄中

比如

https://downloads.gradle.org/distributions/gradle-4.10.2-all.zip

問題二:E/flutter ( 2578): [ERROR:flutter/shell/gpu/gpu_surface_gl.cc(85)] Failed to setup Skia Gr context.

發現設備的android api版本小於19,就會報這個錯誤,也就是android的版本要4.4版以上

看了github上的issues,應該是一個bug,社區已發現這個bug,應該不久就會修復了

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