Flutter学习笔记:开发环境搭建

本文更新于2024-12-15,使用Flutter 3.3.3,操作系统为Windows 10。

安装Flutter

  1. 下载Flutter。官网下载页面为:https://docs.flutter.dev/get-started/install/windows。

    本文使用的版本的下载地址为:https://storage.googleapis.com/flutter_infra_release/releases/stable/windows/flutter_windows_3.3.3-stable.zip。

  2. 解压zip文件。

    生成的默认目录名为flutter_windows_3.3.3-stable,下文记为$FLUTTER。

  3. 设置环境变量Path

    将$FLUTTER/flutter/bin的绝对路径加入环境变量Path。此目录下有可执行程序dart和flutter,可以运行以下命令查看环境变量是否正确设置:

    dart --version
    flutter --version [--verbose]
    
  4. 进行自检。

    如配置不正确或缺少组件,则会有相应提示。还会为运行做首次配置。这一过程耗时较长。

    flutter doctor
    

环境变量

  • FLUTTER_STORAGE_BASE_URL

Flutter命令

  • flutter analyze:运行代码分析器。
  • flutter build apk|ios:编译Android/iOS的APK。
  • flutter create [-a kotlin] [-i swift] PROJECT:创建项目。
  • flutter doctor:自检。
  • flutter doctor --android-license:同意Android SDK的许可协议。
  • flutter drive --target=FILENAME:运行集成测试。如为相对路径,则以项目目录为根。
  • flutter logs:查看日志。
  • flutter packages get:获取项目的依赖库。
  • flutter packages upgrade:升级项目的依赖库至最新版本。
  • flutter run [-d chrome --web-renderer html|canvaskit] [--trace-startup --profile]:运行项目。输入r可进行热修复。--trace-startup --profile用于启动时间分析,但不能使用虚拟设备。
  • flutter test [FILENAME]:运行单元测试和组件测试。如为相对路径,则以项目目录为根;若不指定文件,则运行所有测试。
  • flutter upgrade:升级。升级完后自动执行自检。

使用Android Studio开发

本文使用Android Studio 2021.3.1。

安装Android Studio

  1. 下载Android Studio。官网下载页面为:https://developer.android.google.cn/studio/。

    本文使用的版本的下载地址为:https://redirector.gvt1.com/edgedl/android/studio/install/2021.3.1.16/android-studio-2021.3.1.16-windows.exe

  2. 安装Android Studio。

  3. 启动Android Studio。第一次启动时会进行一些配置,并下载一些文件。

    “Verify Settings”界面会列出所有的配置项,“SDK Components to Download”项如为空,则可能需修改host文件,增加一行:

    203.208.40.97 dl.google.com
    

Android Studio安装插件

  1. 安装Flutter插件,会自动安装Dart插件。

    安装完成需要重启Android Studio,会出现“New Flutter Project”选项。

Android Studio运行项目

  1. 创建虚拟设备。

    在虚拟设备管理器“Virtual Device Manager”中创建虚拟设备。

  2. 创建Flutter项目。

    使用“New Flutter Project”创建项目,选择“Flutter”并填写“Flutter SDK path”(即$FLUTTER/flutter的绝对路径),创建的时候可能耗时较长。“Project Name”必需以小写开头,且不可有空格。如“Platforms”勾选了“Web”,则可以使用浏览器作为虚拟设备。

  3. 运行项目。

    选择一个虚拟设备,入口点默认为main.dart文件,点击绿色三角形按钮,编译并在虚拟设备上运行。这一过程耗时较长。默认的程序是一个点击计数器。

使用VSCode开发

本文使用VSCode 1.71.2。

安装VSCode

VSCode安装插件

  1. 在VSCode扩展中安装Flutter插件,会自动安装Dart插件。

VSCode运行项目

  1. 创建Flutter项目。

    使用快捷键Ctrl+Shift+P,选择“Flutter: New Project”创建项目。

    “Application”为创建应用程序项目。

  2. 选择设备。

    使用快捷键Ctrl+Shift+P,选择“Flutter: Select Device”,再选择对应的设备。

  3. 运行项目。

    点击VSCode右上方的三角形图标,选择“Start Debugging”开始调试,或选择“Run Without Debugging”直接运行不调试。这一过程耗时较长,默认的应用程序是一个点击计数器。

    可使用快捷键Ctrl+Shift+D打开“运行和调试”面板,选择对应的配置。

  4. 热重载。

    点击黄色闪电图标或快捷键Ctrl+F5,可进行热重载。

配置.vscode/launch.json

如需对VSCode项目进行配置,则在项目目录下创建.vscode/launch.json(或在“运行和调试”面板快速创建)。文件内容示例如下:

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "testdemo","request": "launch","type": "dart",// "args": ["--web-renderer html"]}]
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/858315.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于扩频解扩+turbo译码的64QAM图传通信系统matlab误码率仿真,扩频参数可设置

1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印): 仿真操作步骤可参考程序配套的操作视频。2.算法涉及理论知识概要该通信系统主要用于图像传输,适用于对图像质量和传输可靠性要求较高的场景,如无人机图像传输、视频监控、无线电视广播等。在复杂的电磁环境…

SIP协议中与Dialog相关的概念

如下RFC文档所述:在SIP协议中,对话(Dialog)是由两个用户代理(User Agent,简称UA)之间持续一段时间的端到端关系,通过Call-ID、To-tag和From-tag来标识(即Dialog ID),用于对一个会话(Session)进行信令交互。对话代表一个上下文场景,据此来阐释相关的SIP消息(即一系…

HBuilderX运行到微信开发者工具

HBuilderX运行到微信开发者工具

快手MARM 文章理解

阅读了快手的论文 MARM,论文中的算法 符号看起来不容易理解。 对照图自己研究了下, 理解了。需要知道为什么(b) 和(c) 中 的中间结果是相同的。需要知道 masked-self-attention缓存是怎么处理,看箭头快手 MARM: Unlocking the Future of Recommendation Systems through Mem…

NSSCTF--Crypto--[CISCN 2023 初赛]badkey

NSSCTF Crypto [CISCN 2023 初赛]badkey[CISCN 2023 初赛]badkey task: from Crypto.Util.number import * from Crypto.PublicKey import RSA from hashlib import sha256 import random, os, signal, stringdef proof_of_work():random.seed(os.urandom(8))proof = .join([ra…

deque容器/构造函数/赋值操作/大小操作/插入和删除/数据存取/排序

deque容器基本概念 功能: 双端数组,可以对头端进行插入删除操作 deque与vector区别: vector对于头部的插入删除效率低,数据量越大,效率越低 deque相对而言,对头部的插入删除速度会比vector块 vector访问元素时的速度会比deque快,这和两者内部实现有关deque内部工作原理:…

CSS基础-长度单位

💖简介 在CSS中,长度单位分为绝对长度单位和相对长度单位。这些单位用于定义元素的尺寸、边距、填充、字体大小等属性值 vmin和vmax是CSS中的相对长度单位,它们基于视口(viewport)尺寸来定义元素的宽度或高度。这些单位使得元素的尺寸可以根据视口的大小进行缩放,从而有…

基于GRNN广义回归网络和MFCC的语音情绪识别matlab仿真,对比SVM和KNN

1.算法运行效果图预览 (完整程序运行后无水印) filePath =Test_data\悲伤1.wav类型:悲伤 识别置信度Vmax =0.9559 2.算法运行软件版本 matlab2022a3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频)Labsn = []; % 遍历每种情绪 for i = 1:length(Em_kind)Labs0…

学习高校课程-软件设计模式-访客模式(lec13)

Visitor: Problem Example: exporting the graph into XML format 示例:将图表导出为 XML 格式Visitor: Solution Place the new behavior into a separate class called visitor The original object passed to the visitor’s method as an argument

[学习笔记] 线性筛与欧拉函数

一 线性筛主要讲下思想,埃氏筛法就是用所有质数标记所有倍数,这样的时间复杂度是 \(O(n\log n\log n)\),有两只 \(\log\)。可是我不想要 \(\log\),于是欧拉筛: 改进:存下质数表。对于每一个数,只标记自己与不超过自己最小质因子的数的乘积,对于质数表 \(2,3,5\),循环到…

低空经济的地理信息支撑:构建安全、高效的飞行管理体系

随着无人机等低空飞行器的广泛应用,低空空域管理的重要性日益凸显。地理信息技术作为低空空域管理的重要支撑,对于保障低空经济的健康发展具有不可替代的作用。 地理信息技术在低空空域管理中的作用地理信息技术在低空空域管理中扮演着关键角色,主要体现在以下几个方面:空域…