一、关于环境变量
由于需要经常修改环境变量,所以这里先说明一下:
进入:控制面板 --> 系统 --> 高级系统设置 --> 环境变量
或者直接 win+s 搜h就有了
-
关于用户变量和系统变量:
系统变量:对所有的用户起作用
用户变量:对当前用户起作用
优先级:系统变量>用户变量
,就是说有相同的变量情况下,优先系统变量。使用哪一种设置,自行决定。 -
关于path设置
不同系统设置方式不同,win7是加分号,而win10是直接编辑(没有分号),例如:
win7:abc\bin;cde\bin;
win10:则分开2条设置 abc\bin 和 cde\bin
二、安装
1、安装git 和 Android Studio
由于flutter依赖git 和 Android Studio,所以需要先安装git 和 Android Studio
安装git
安装Android Studio
其中Android Studio需要安装Android SDK及配置虚拟器
安装过程记下Android Studio目录,
安装好后Android SDK目录正常情况下会在:C:\Users\Administrator\AppData\Local\Android\Sdk (需打开查看隐藏文件功能)
2、安装flutter
2.1 添加环境变量
由于国内访问,所以可能会很慢,先到环境变量添加:
PUB_HOSTED_URL 值为 https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL 值为 https://storage.flutter-io.cn
2.2 下载安装flutter
到https://github.com/flutter/flutter clone一份到本地。
然后到环境变量,编辑path,增加 flutter安装目录\bin
,例如我的是D:\Programs\flutter\bin
。
这时候就可以使用flutter命令了,打开cmd,输入flutter doctor
可以查看当前安装情况,有问题的逐个解决。
3、编辑器安装flutter插件
使用Android Studio 和 VSCode都可以,但都需要安装flutter和dart插件,具体方法就不介绍了,其中可以直接安装flutter插件,安装过程会提示是否安装dart,点击安装即可。
三、问题
1、no devices
依次执行:
1.1 在环境变量增加 ANDROID_HOME
值为:C:\Users\Administrator\AppData\Local\Android\Sdk (Android sdk 位置,位置可能不同)
1.2 path里面增加2个值:
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
1.3 打开cmd,或者在Android studio终端输入
输入flutter config --android-sdk "你的android sdk位置"
输入flutter config --android-studio-dir "你的android studio位置"
例如 flutter config --android-sdk “C:\Users\Administrator\AppData\Local\Android\Sdk”
如果出现Setting “android-sdk” value to “…” 则代表成功,重启Android studio
1.4 更换adb版本
如果上面3步都不能解决,那么看看你的adb版本,打开cmd,输入adb version
查看版本,如果大于1.0.40 可能会有问题,更换1.0.40可以解决!这一步卡了我2天!!
1.0.40下载地址:https://089u.com/dir/15828161-39450780-b6f4bc
下载好后把adb.exe,AdbWinApi.dll,AdbWinUsbApi.dll这三个文件复制到android sdk位置\platform-tools
替换。
如果提示正在使用则把abd.exe的进程杀了再替换。
2、flutter run 很慢,或者卡在Running Gradle task‘assembleDebug’…
打开 你的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' }
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.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' }
}
}
android {
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}
apply plugin: FlutterPlugin
class FlutterPlugin implements Plugin<Project> {
//private static final String DEFAULT_MAVEN_HOST = "https://storage.googleapis.com";
private static final String DEFAULT_MAVEN_HOST = "https://storage.flutter-io.cn";
3、Could not reserve enough space for 1572864KB object heap
打开 C:\Users\Administrator\.gradle\gradle.properties
,如果没有gradle.properties
则新建该文件,后缀就是properties,然后增加代码:
org.gradle.jvmargs=-Xmx512M
org.gradle.daemon=false
4、Detected ADB
未解决!
意思是说adb版本太旧,但我更新到最新版本还是不行,如果你解决了可以告诉我。