一、关于环境变量

由于需要经常修改环境变量,所以这里先说明一下:
进入:控制面板 --> 系统 --> 高级系统设置 --> 环境变量
或者直接 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版本太旧,但我更新到最新版本还是不行,如果你解决了可以告诉我。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐