使用 VSCode 搭建 Flutter环境
概述
编辑器使用 vscode,不再安装 Android Studio。
安装 Git
点击这里 下载并安装 Git
配置 Java 环境
下载和安装 JDK
点击下载 Java SE Development Kit 8

我的安装路径是 “D:\Programs\Java\jdk1.8.0_291”,你可以根据情况而定。
配置环境变量
搜索框中输入 “env” 打开 “编辑系统环境变量配置”



JAVA_HOME
- 变量名:JAVA_HOME
- 变量值:D:\Programs\Java\jdk1.8.0_291

CLASSPATH
- 变量名:CLASSPATH
- 变量值:.;% JAVA_HOME%\lib;% JAVA_HOME%\lib\tools.jar;
注意:变量值的开头有个英文点。结尾有个英文分号;

添加到系统变量



将刚刚新建的最后一项移动到顶部:

通过点击确定将所有窗口关闭
测试
打开 CMD 输入 “java -version”

输入 “javac”

配置 Android 环境
安装 Command line tools
下载和解压

解压到 “D:\Protable\Android\sdk”
注意:“D:\Protable\Android\sdk” 是我的 Android SDK 存放的路径,可以根据你的情况更改到其他位置。但是,一般将 Android SDK 放到 “Android\sdk” 目录下。
把 D:\Protable\Android\Sdk\cmdline-tools\bin 加入到环境变量:

注意:“D:\Protable\Android\Sdk\cmdline-tools” 是我的 cmdline-tools 解压后存放的路径,应改成你的位置,不过一定将 bin 目录加入到环境变量。
command-tools
command-tools 包含以下几个 command-tool

apkanalyzer 是一个命令行工具, 可以在构建流程完成后立即了解 APK 的组成,并且可以比较两个 APK 之间的差异。使用 apkanalyzer 可以减少调试应用中的 DEX 文件和资源相关问题所花费的时间,并减小 APK 的大小。
avdmanager 是一个命令行工具,可以用于从命令行创建和管理 Android 虚拟设备 (AVD)。借助 AVD,您可以定义要在 Android 模拟器中模拟的 Android 手机、Wear OS 手表或 Android TV 设备的特性。
lint 是一个命令行工具,用于代码扫描,可以帮助您识别和纠正代码的结构质量问题。
retrace 是一个命令行工具,对于由 R8 编译的应用程序,用于从经过混淆处理的堆栈轨迹获取原始堆栈轨迹。系统会通过在映射文件中对类名和方法名与其原始定义进行匹配来重构堆栈轨迹。(对映射回原始源代码的模糊堆栈跟踪进行解码)
sdkmanager 是一个命令行工具,允许你查看、安装、更新和卸载 Android SDK 的软件包。我们不使用 Android Studio,所以可以使用这个命令行工具管理 SDK 包。
安装需要的 Android 环境
在 cmd 中输入如下命令,安装需要的 Android 环境
sdkmanager "platform-tools" "platforms;android-28" "build-tools;28.0.3"
将 platform-tools 加入系统环境变量

debug 工具 adb(Android Debug Bridge) 就在 platform-tools 目录下,下文使用的 adb xxx 命令正是来源于此。
使用代理
适用于所有命令,指示使用代理
sdkmanager --proxy=http --proxy_host=127.0.0.1 --proxy_port=1080
--proxy={http | socks}通过给定类型的代理连接:HTTP 或 FTP 等高级协议的 http,或 SOCKS(V4 或 V5)代理的 socks。
也可以在用户目录下~/.android 创建 androidtool.cfg 文件:
http.proxyPort=1080
http.proxyHost=127.0.0.1
配置安卓环境变量
ANDROID_HOME
- 变量名:ANDROID_HOME
- 变量值:D:\Protable\Android

ANDROID_SDK_ROOT
- 变量名:ANDROID_SDK_ROOT
- 变量值:D:\Protable\Android\Sdk
注意:这里选择的是 Sdk 目录,和 ANDROID_HOME 的变量值不同

下载和安装 Flutter SDK
配置 Flutter 国内镜像
在任意位置右键 “Git bash here”

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
Flutter SDK
下载 Flutter SDK
点击这里 查看 Flutter SDK 列表,并下载

解压到 D:\Protable\flutter

注意:“D:\Protable\flutter 是我的 Flutter SDK 存放的路径,可以根据你的情况更改到其他位置。
配置 Flutter SDK 环境变量

打开 cmd 输入 “flutter” 检测环境变量:

接受许可协议
在 cmd 中输入如下命令,并在交互式 “对话” 中全部回复 “y”
flutter doctor --android-licenses
检测 flutter 开发环境
在 cmd 中输入如下命令:
flutter doctor

配置 VSCode
点击这里 下载并安装 VSCode

在插件中搜索 Flutter 并安装

创建 Flutter 项目
通过 ctrl + shift + p 打开命框,输入 “flutter” 并选择 “New Application Project”

输入项目名称按下回车即可创建项目

调试
使用浏览器调试
注意右下角状态栏,你也可以通过点击此处切换到 Edge Chromium

按下 f5 并选择 “Dart&Flutter”

稍等片刻即可自动打开 Chrome

使用真机调试
首先需要进入 “开发者选项” 将手机的 “允许 USB 调试” 打开,使用数据线连接电脑,同意 USB 调试。在 CMD 中输入如下命令,设置 wifi 连接的端口号为 5555
adb tcpip 5555
在 CMD 中输入如下命令,链接手机。你的手机的 IP 地址一般在 设置 > wifi > 高级设置 中查看。比如 IP 为:x.x.x.x
adb connected to x.x.x.x:5555
在启动应用之前,注意此时 VSCode 中右下角的状态栏中显示的应是通过 USB 链接的手机型号

按下 f5 并选择 “Dart&Flutter”。稍等片刻会在手机中弹出安装提示,同意即可。
使用模拟器调试
使用模拟器调试,Windows 需要打开 Hyper-V 服务,并在 BIOS (电脑主板设置)中启用 VT(虚拟化技术)。
** 安装 Intel HAXM**
Intel HAXM (Hardware Accelerated Execution Manager),即英特尔硬件加速执行管理器 (Intel HAXM) 是一款硬件辅助虚拟引擎 (管理程序) 使用基于 Intel (R) Virtualization Technology (VT) 的硬件加速, 因此需要 CPU 支持 VT , 而且仅限于 Intel CPU。Intel HAXM 与英特尔 Android x86 模拟器映像及官方 Android SDK 管理器结合使用,HAXM 可在支持英特尔虚拟化技术的系统上加快 Android 模拟器的速度。
sdkmanager "extras;intel;Hardware_Accelerated_Execution_Manager"
** 验证 Intel HAXM**
打开 CMD 输入如下命令验证 Intel HAXM
sc query intelhaxm

如果出现问题,比如 “The specified service does not exist as an installed service”,打开 “D:\Protable\Android\Sdk\extras\intel\Hardware_Accelerated_Execution_Manager” 目录,通过 silent_install.bat 进行安装

** 安装安卓系统镜像 **
sdkmanager --install "system-images;android-29;default;x86"
** 安装模拟器 **
sdkmanager "emulator"
将 emulator 添加到环境变量

** 创建一个安卓模拟器实例 **
创建一个名为 “test” 的模拟器实例,后续指令可能需要在 Android/emulator 目录下执行,或者将其加入环境变量
echo "no" | avdmanager --verbose create avd --force --name "test" --package "system-images;android-29;default;x86" --tag "default" --abi "x86"
** 启动安卓模拟器 **
emulator @test &
按下 f5 并选择 “Dart&Flutter”。稍等片刻会在模拟器中显示 Flutter 应用

使用第三方模拟器调试
以逍遥模拟器为例,并不需要再做什么配置,只需要打开模拟器,在 VSCode 右下角状态栏中显示如下设备

按下 f5 并选择 “Dart&Flutter”。稍等片刻会在模拟器中显示 Flutter 应用

也可以通过 adb 链接模拟器 IP 地址,比如:
- 夜神模拟器 adb connect 127.0.0.1:62001
- MuMu 模拟器 adb connect 127.0.0.1:7555
参考资料
- https://flutter.dev/community/china
- https://developer.android.com/studio/
- https://developer.android.com/studio/run/emulator-commandline
使用 VSCode 搭建 Flutter环境的更多相关文章
- vscode搭建python环境
这两天刚下了一个pycharm,结果使用之后将vscode给崩了,重装的时候有些步骤也记不清,走了一些弯路,做个总结来记录一下(本人觉得vscode比pycharm好用一点). Python下载安装 ...
- Node.js+Protractor+vscode搭建测试环境(1)
1.protractor简介 官网地址:http://www.protractortest.org/ Protractor是一个end-to-end的测试框架,从网络上得到的答案是Protractor ...
- VScode搭建OpenCV环境
用vscode来写opencv代码需要自己编译OpenCV,主要用到MinGW-w64和CMake工具.由于可能存在的版本兼容问题,下载这些工具前最好先访问网站: https://github.com ...
- vscode搭建c++环境
第一步:下载 Vs Code 点击链接下载Vs Code 下载版本 并安装 https://code.visualstudio.com/ 点击 Download for Windwos 安装时 如 ...
- VSCode搭建golang环境
安装对应版本的Golang 略 VSCode安装对应 Go 插件 在应用商店安装即可:go VSCode安装 Go 工具: 在VSCode输入:Crtl + Shift + P 在弹出框输入:inst ...
- Flutter环境搭建
本文介绍mac上搭建Flutter环境 1.Flutter官方提供中国地区镜像地址:https://github.com/flutter/flutter/wiki/Using-Flutter-in-C ...
- VSCode搭建Java开发运行环境
用了一段时间VSCode,觉得还可以,想用VSCode整合不同的开发语言,于是研究了一下利用VSCode搭建Java环境.开发Java程序.网上这方面的帖子有不少,但每人的经历不同,把自己的经历记下来 ...
- Mac最新Flutter环境搭建运行和对比理解声明式UI
前言 这段时间一直都在学习和写关于SwiftUI的东西,前面也总结了四篇文章来大体上说了下Demo中功能实现的一些细节,后面准备开始了解学习一下Flutter,争取在年前能再用Flutter写一份项目 ...
- 浅谈Flutter(一):搭建Flutter开发环境
学习内容来自: Flutter中文网 . Flutter实战 -------------------------------------------------------------------- ...
随机推荐
- Tensor基本理论
Tensor基本理论 深度学习框架使用Tensor来表示数据,在神经网络中传递的数据均为Tensor. Tensor可以将其理解为多维数组,其可以具有任意多的维度,不同Tensor可以有不同的数据类型 ...
- MindSpore API编程概述
MindSpore API编程概述 总体架构 MindSpore是一个全场景深度学习框架,旨在实现易开发.高效执行.全场景覆盖三大目标,其中易开发表现为API友好.调试难度低,高效执行包括计算效率.数 ...
- 新的微芯片MCU增加了来自外部闪存的安全引导保护
新的微芯片MCU增加了来自外部闪存的安全引导保护 New Microchip MCU Adds Secure Boot Protection from External Flash 对于从外部SPI闪 ...
- C++中头文件和实现文件的关系
头文件相当于是声明的集合,包括头文件的语句#Include实质为程序代码的宏替换. 编译阶段将函数和变量登记在符号表,链接时将各种函数的入口地址在其中查找到来调用,解引用.
- 『言善信』Fiddler工具 — 6、Fiddler界面布局详解【命令行和状态栏】
目录 1.命令行 2.状态栏 1.命令行 命令行在Fiddler的左下方的黑色窗口,也叫QuickExec,可以调用 Fiddler的内置命令. 这一系列内置的函数用于筛选和操作会话列表中的sessi ...
- DHCP的原理与配置
DHCP 动态主机配置协议(Dynamic Host Configuration Protocol) 可以减少管理员的工作量 避免用户手工配置网络参数时造成的地址冲突 DHCP报文类型: 报文类型 ...
- MySQL必知必会笔记——查询的基础知识
查询基础知识 第七章 数据过滤 组合where子句 MySQL允许给出多个WHERE子句.这些子 句可以两种方式使用:以AND子句的方式或OR子句的方式使用. AND操作符 可使用AND操作符给WHE ...
- 【NX二次开发】获取片体的边UF_MODL_ask_body_boundaries()
获取片体的边UF_MODL_ask_body_boundaries(),如果输入实体,则获取的片体的边的数量为0. 源码: #include "Text.h" extern Dll ...
- 一张图理清计算机常见编码的关系。ASCII、Unicode都不是事儿
编码按适用范围可以简单分为:(本人自定义) 美国编码(ASCII)ASCII为基础编码,来源于美国:其它编码都兼容ASCII编码: 欧盟编码(ISO8859-1.WINDOWS-1252)先是ISO- ...
- 08:jQuery(01)
今日内容概要 jQuery(封装了js的前端框架(模块)) 很容易与DOM操作混淆 jQuery """ jQuery内部封装了原生的js代码(还额外添加了很多的功能) ...