安裝flutterSDK
安裝
配置環境變量
安裝配置
升級flutter
vscode搭建環境
vscode創建項目
運行
普通運行
操作
熱加載debugger
連接第三方模擬器
異常
啟動異常Initialization gradle…
adb 提示adb server version(31) doesn't match this client(40)
flutter安裝dart失敗:
Could not resolve io.flutter:flutter_embedding_debug:1.0.0-6bc433c6b6b5b98dcf4cc11aff31cdee90849f32
下載包失敗:Could not resolve all artifacts for configuration....
Flutter安裝
- 操作系統: windows7以上64位操作系統
- 磁盤空間:大於3G,最好可以達到5G
- 安裝java
- 安裝flutter sdk
- 虛擬機
安裝flutterSDK
安裝
- 方法1:https://flutter.dev/docs/development/tools/sdk/releases#windows
- 下載的是壓縮包,在安裝位置解壓;
- 方法2:git:
https://github.com/flutter/flutter.git
國內鏡像地址:
https://mirrors.tuna.tsinghua.edu.cn/git/flutter-sdk.git
碼雲https://gitee.com/mirrors/Flutter的:https://gitee.com/mirrors/Flutter.git
建議:
使用碼雲的git
使用分支:stable
配置環境變量
- path:將flutter的bin地址添加到環境變量的path中;
- 添加flutter鏡像等配置
FLUTTER_STORAGE_BASE_URL
和PUB_HOSTED_URL
;
中國庫
FLUTTER_STORAGE_BASE_URL:https://storage.flutte-io.cn
PUB_HOSTED_URL:https://pub.flutter-io.cn
清華
PUB_HOSTED_URL:https://mirrors.tuna.tsinghua.edu.cn/dart-pub
FLUTTER_STORAGE_BASE_URL:https://mirrors.tuna.tsinghua.edu.cn/flutter
上海交通大學
FLUTTER_STORAGE_BASE_URL:https://mirrors.sjtug.sjtu.edu.cn
PUB_HOSTED_URL:https://dart-pub.mirrors.sjtug.sjtu.edu.cn
我最終選擇的是
PUB_HOSTED_URL:https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL:https://mirrors.sjtug.sjtu.edu.c
安裝配置
- 雙擊運行
安裝路徑/bin/flutter.bat
- 運行檢查
flutter doctor
- 沒有X之后運行
flutter doctor --android-licenses
一直輸入y,完成配置
- 修改鏡像:flutter\packages\flutter_tools\gradle\flutter.gradle
buildscript {
repositories {
// google()
// jcenter()
maven{url 'https://maven.aliyun.com/repository/google'}
maven{url 'https://maven.aliyun.com/repository/jcenter'}
maven{url 'http://maven.aliyun.com/nexus/content/groups/public' }
maven { url "https://storage.googleapis.com/download.flutter.io" }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
}
}
每一個項目配置
buildscript {
repositories {
// google()
// jcenter()
maven{url 'https://maven.aliyun.com/repository/google'}
maven{url 'https://maven.aliyun.com/repository/jcenter'}
maven{url 'http://maven.aliyun.com/nexus/content/groups/public' }
maven { url "https://storage.googleapis.com/download.flutter.io" }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0' //這個版本號看自己的配置
}
}
allprojects {
repositories {
// google()
// jcenter()
maven{url 'https://maven.aliyun.com/repository/google'}
maven{url 'https://maven.aliyun.com/repository/jcenter'}
maven{url 'http://maven.aliyun.com/nexus/content/groups/public' }
maven { url "https://storage.googleapis.com/download.flutter.io" }
}
}
升級flutter
升級
- 方法1:
flutter upgrade
- 方法2:刪除舊的sdk,重新下載
配置
- 雙擊運行
安裝路徑/bin/flutter.bat
- 運行檢查
flutter doctor
注意:flutter升級之后,有的項目就無法正常運行了,建議在項目根目錄使用flutter clean
清除配置,然后使用flutter pub get
重新配置一下
vscode搭建環境
安裝Dart
/Flutter
/Flutter Widget Snippets /Awesome Flutter Snippets/Android ios Emulator
插件;
vscode創建項目
進入需要創建項目的文件夾
運行
flutter create 項目名
(可能需要安裝cmake)
運行
普通運行
使用vscode打開項目文件夾,在終端輸入flutter run
,這種模式不能熱加載,需要在命令行輸入相應字符才能操作
操作
R:重啟並熱加載
r:熱加載
h:幫助
d:分離
q:退出
p:顯示網格,這個可以很好的掌握布局情況,工作中很有用。
o:切換android和ios的預覽模式。
q:退出調試預覽模式。
熱加載debugger
左側選擇debugger的中的運行即可.
連接第三方模擬器
第三方模擬器需要開啟root權限
,若是有usb調試選項,也要開啟
cmd進入Android sdk的platform-tools
文件夾,運行adb連接代碼
夜神模擬器:adb connect 127.0.0.1:62001
逍遙安卓模擬器:adb connect 127.0.0.1:21503
天天模擬器:adb connect 127.0.0.1:6555
海馬玩模擬器:adb connect 127.0.0.1:53001
網易MUMU模擬器:adb connect 127.0.0.1:7555
原生模擬器:adb connect (你的IP地址):5555
mumu:adb connect 127.0.0.1:7555
異常
啟動異常Initialization gradle…
如果啟動過程中一直卡在 Initialization gradle…
那就去gradle官網下載他的zip壓縮包 然后放在.gradle\wrapper\dists\gradle-4.10.2-all\9fahxiiecdb76a5g3aw9oi8rv
下 把其他文件刪除
gradle的版本要對應好
adb 提示adb server version(31) doesn't match this client(40)
adb的版本沖突問題,
- 將AndroidSDK的
platform-tools
和cmdline-tools
和build-tools
路徑添加到path中,重啟虛擬機(重連手機),重啟Android SDK軟件(最好重啟軟件),測試一下; - 若是還有問題,可能是電腦之前安裝過adb的服務,打開
windows管理工具
中的服務
,看看有沒有adb的,把這個服務停止(最好禁用了,不然每次都要停止一下),測試一下; - 可能是端口沖突,這是因為你的電腦安裝了,魯大師手機助手,360手機助手占用了adb的端口引起的。
flutter安裝dart失敗:
打開flutter目錄\bin\internal
打開engine.version
下載文件
https://mirrors.sjtug.sjtu.edu.cn/flutter_infra/flutter/文件內容/dart-sdk-darwin-x64.zip
下載的dart文件,解壓,添加bin目錄到path
環境變量
添加環境變量FLUTTER_STORAGE_BASE_URL
,值為https://mirrors.tuna.tsinghua.edu.cn
(注意不要有后面的\flutter)
Could not resolve io.flutter:flutter_embedding_debug:1.0.0-6bc433c6b6b5b98dcf4cc11aff31cdee90849f32
進入flutter\packages\flutter_tools\gradle 目錄下
- aar_init_script.gradle
- resolve_dependencies.gradle
- flutter.gradle
將http://download.flutter.io 替換為: https://storage.googleapis.com/download.flutter.io
將
google()
jcenter()
替換為:
// google()
// jcenter()
maven{url 'https://maven.aliyun.com/repository/google'}
maven{url 'https://maven.aliyun.com/repository/jcenter'}
maven{url 'http://maven.aliyun.com/nexus/content/groups/public' }
maven { url "https://storage.googleapis.com/download.flutter.io" }
下載包失敗:Could not resolve all artifacts for configuration....
flutter在下載依賴失敗或者flutter run運行的時候出現某個jar或者文件下載失敗的時候,如下:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':url_launcher'.
> Could not resolve all artifacts for configuration ':url_launcher:classpath'.
> Could not download kotlin-reflect.jar (org.jetbrains.kotlin:kotlin-reflect:1.3.31)
> Could not get resource 'https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.3.31/kotlin-reflect-1.3.31.jar'.
> Could not GET 'https://d29vzk4ow07wi7.cloudfront.net/a0172daf57e511e8e0df9251b508db8aa6b885cdf0c5849addc9b840db4814f0?response-content-disposition=attachment%3Bfilename%3D%22kotlin-reflect-1.3.31.jar%22&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHAqOi8vZDI5dnprNG93MDd3aTcuY2xvdWRmcm9udC5uZXQvYTAxNzJkYWY1N2U1MTFlOGUwZGY5MjUxYjUwOGRiOGFhNmI4ODVjZGYwYzU4NDlhZGRjOWI4NDBkYjQ4MTRmMD9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0JmaWxlbmFtZSUzRCUyMmtvdGxpbi1yZWZsZWN0LTEuMy4zMS5qYXIlMjIiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE1ODYyNTYzNDF9LCJJcEFkZHJlc3MiOnsiQVdTOlNvdXJjZUlwIjoiMC4wLjAuMC8wIn19fV19&Signature=g7IpNFZ30ml7BofrDRqxvVTOidUqrfYgiNEb4ykjpCzmiRKMLPNV19Zy09LSxB5zwo2bYkmGNyvVqBKiYL26uuTtFER5t5Z7YcQPfmb220WviYE~3fuSMLA84FAPTwweRwEO1ZXHWmMupgMO41ao6XfCzd9zSEzPC5o5yWXne4GZSPShEVmgHOg8nhL5G8WD5nUOQNxu9VeO7npIRzU5d6XkrB~pSPKkMkRNisl0LcxjuljT6FKbGtfnhm2uYvpGVNaDvIeff3Qp9Bx3gdmxBH6-AbzS-GxVf1xIBtzzoBqUyq6raz27mL8TIX7mROGomvOV0z5MhlRnG1Kl21UVIw__&Key-Pair-Id=APKAIFKFWOMXM2UMTSFA'.
> d29vzk4ow07wi7.cloudfront.net
> Could not download kotlin-stdlib.jar (org.jetbrains.kotlin:kotlin-stdlib:1.3.31)
> Could not get resource 'https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.31/kotlin-stdlib-1.3.31.jar'.
> Could not GET 'https://d29vzk4ow07wi7.cloudfront.net/f38c84326543e66ed4895b20fb3ea0fca527fd5a040e1f49d0946ecf3d2b3b23?response-content-disposition=attachment%3Bfilename%3D%22kotlin-stdlib-1.3.31.jar%22&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHAqOi8vZDI5dnprNG93MDd3aTcuY2xvdWRmcm9udC5uZXQvZjM4Yzg0MzI2NTQzZTY2ZWQ0ODk1YjIwZmIzZWEwZmNhNTI3ZmQ1YTA0MGUxZjQ5ZDA5NDZlY2YzZDJiM2IyMz9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0JmaWxlbmFtZSUzRCUyMmtvdGxpbi1zdGRsaWItMS4zLjMxLmphciUyMiIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTU4NjI1NjM5MX0sIklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiIwLjAuMC4wLzAifX19XX0_&Signature=MgenmHLDSO66gc2YAaf1l6L9eQjg9xBAKROmoMwEP9-FUACk9uUXgD6CS~2uj1jAlKUFap88Uo50C5z47EAirrxFeQnjrkrQ2epdPGVCYlWJ~lF9IJShpYJpOifd27MwWUFZQpKq1OT5Ahn0eCFWMoZLasji1rg~indBd3nwqfu4ewXZVpkZhsna~bDkSolIHQ3CVAYbsdkOxsHQEFx92WQNGdgj-AMjoC5JoTitlXNPqgMrh4QQ4PwKsdOaXPleSna7~kCmbl7iFPlCRBtGQKYb87pvgpIOM09rX4DpMYGXew47dZLeML0fAHdb2AQ2SYI3LASEGC > d29vzk4ow07wi7.cloudfront.net
> Could not get unknown property 'android' for project ':url_launcher' of type org.gradle.api.Project.
> Could not find method implementation() for arguments [project ':url_launcher_web'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
> Could not find method implementation() for arguments [project ':url_launcher_macos'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
解決方法:將鏡像依賴下載地址改為國內地址
```shell
將
google()
jcenter()
改為:
maven{url 'https://maven.aliyun.com/repository/google'}
maven{url 'https://maven.aliyun.com/repository/jcenter'}
maven{url 'http://maven.aliyun.com/nexus/content/groups/public' }
maven { url "https://storage.googleapis.com/download.flutter.io" }
google()
jcenter()
````
需要修改的位置:
- 當前項目:
android/build.gradle
- fluttersdk:
flutter安裝位置\packages\flutter_tools\gradle
里的flutter.gradle
和resolve_dependencies.gradle
- 下載失敗的鏡像(比如上面的是
url_launcher
):在flutter安裝位置\.pub-cache\hosted\當前倉庫\android\build.gradle
注意:上面的配置有的文件中有一處,有的有兩處