現在的多平台開發很多啦,目前主流的救贖react native 和weex了,其他的舊的就不說了,新出來的gomobile目前基本無人使用,底層的很多原生對接還沒有完善,flutter發布了第一版正式的版本,flutter的安裝官網說明是在https://flutter.io/get-started/install/,源碼請查看:https://github.com/flutter/flutter
我用的是mac電腦,開發用的是android studio和vs code
下面將記錄我遇到的問題:
一、安裝的時間報:輸入flutter doctor,時間走了一會兒報錯:curl: (56) SSL read: error:00000000:lib(0):func(0):reason(0), errno 60:
解決辦法:
先新建一個文件夾,然后依次輸入下面的命令:
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
git clone -b dev https://github.com/flutter/flutter.git
export PATH="$PWD/flutter/bin:$PATH"
cd ./flutter
flutter doctor
就好了,我是沒有輸入前兩句的export,具體的問題答案在:https://github.com/flutter/flutter/wiki/Using-Flutter-in-China
二、新建項目或者打開新的項目出現: Waiting for another flutter command to release the startup lock...
解決辦法:
當你的項目異常關閉,或者android studio用任務管理器強制關閉,下次啟動就會出現上面的一行話,
此時需要打開 flutter/bin/cache/lockfile,刪除就行了
或者直接用下面的命令:rm ./flutter/bin/cache/lockfile
三、Got socket error trying to find package cupertino_icons at https://pub.dartlang.FLUTTER_STORAGE_BASE_URL
解決辦法:
其他為題正在收集中...(建議去flutter中的issues中查找有沒有這個問題,沒有的話請發送評論到本文尾部,也可以加我的微信:674668211)
四、采用android模擬器運行app,報出
java.lang.IllegalStateException: compileSdkVersion is not specified.
最后會有一行代碼標記哪個地方出錯:
Build file '/Users/vittorio/Desktop/kaifa/flutter/flutter_app/android/app/build.gradle' line: 15
打開后我發現時引用了flutter sdk內部的文件:
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
也就是在你的flutter安裝目錄下面,不是你的項目下面,(/項目/flutter/packages/flutter_tools/gradle)
找到:
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
改成了我本地的編譯版本原來的代碼是:我把3.0.1改成了2.3.3,就好了