Flutter安装
安装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
注意:上面的配置有的文件中有一处,有的有两处