flutter环境搭建实践
Dart
Dart 是一种客户端和服务器端的编程语言,最早由 Google 提出。它被设计用于构建高性能、高度可伸缩和可靠的应用程序。Dart 可以编译成本地代码或者在虚拟机中直接运行。在移动应用开发中,Dart 主要用于开发 Flutter 应用。
Flutter 和 Dart 的关系
Flutter 是一个使用 Dart 语言开发的跨平台移动应用框架。它能够在 iOS 和 Android 上构建高性能、高保真度的应用。Flutter 的核心是 Dart 语言,它提供了丰富的 API 和开发工具,以支持开发者构建出色的移动应用。
在 Android Studio 中,我们可以使用 Dart 语言来开发跨平台的移动应用程序。然而,有时候我们可能遇到 Dart 版本低于 Android Studio 的问题,这会导致一些功能无法使用或者出现错误。为了解决这个问题,我们可以升级 Dart 版本到最新的稳定版。
本人安装的版本如下:


java: V17
安装Flutter
在中国网络环境下使用 Flutter - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter
关于flutter SDK的使用,上面的官方网站上写的很清楚,照着做就好,注意不要从其他的博客里面跳着操作,这样可能发生不可测的错误,造成项目无法启动,无法识别设备,新建项目没有网络等等问题。因为不同的版本会有很多不同的特殊情况。
配置环境变量
win+s 吊起搜索

进行如下选择
命令行方式如下图

注意,配置在用户变量还是环境变量取决于自己,区别是:系统级任何用户任何路径都可以直接使用;用户级是配置用户下任何路径都可以直接使用。
下载Flutter SDK(软件开发套件)
Flutter SDK 归档列表 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter

下载好后,将文件放到 D盘或其它非系统盘,这里我放在 D:\soft\flutter
配置使用套件的环境变量
指定到bin目录(虽然点击.bat文件就可以运行,但是为了方便能够在cmd窗口直接运行flutter,所有还是要去配置环境变量)(注意:如果使用fvm管理flutter版本,需要将其删除)

检查是否成功
打开终端,输入命令
flutter --version 查看是否安装成功

下载Android Studio
下载 Android Studio 和应用工具 - Android 开发者 | Android Developers (google.cn)

双击运行安装,一路next,直到这一步,选择自己需要安装的目录(需要好几个G,磁盘警告!!!)

选好之后点击 Next 下一步(PS:这里没有其他骚操作,不要乱来)直到安装成功。
启动
还是一路 Next

标准模式就可以

下面注意Android Studio 默认会把你的SDK下载放在C盘,到时候你的C盘就炸了,谷歌太坏了,这里你需要选择存放路径,他是用来存放一些模拟器的安卓版本的,会很大,切记切记,然后点击 Next 下一步。我是放在 D:\soft\android_SDK

这里是Android Studio的一些许可协议,你需要接受它才能进行下载,点击Accept,接受协议。然后左边的协议栏中的一项协议的红色星号就消失了,三个协议都需要接受,都接受之后,你会看到Finish按钮会亮起,如下图所示

安装语言插件
在plugins中搜索flutter,dart


选择安装必要组件
Android 模拟器、SDK Platform Tools 和虚拟机加速,选择好之后,点击应用进行安装。
Android版本

Android 模拟器

安装java
Java Downloads | Oracle
不要安装最新的版本,里面不含。。
自定义系统安装路径
配置系统变量环境
新增JAVA_HOME,值是安装的路径 我的安装路径是 D:\soft\Java

给Path添加如下路径

以上严格配置,基本上就不会有问题了,可以直接新建项目运行了,如果有问题,按照控制台提示逐步解决即可。
运行老项目
一个项目能否正常编译取决于我们的Gradle、SDK以及JDK,不同版本之间是由不同的配置关系的,这对于你来说是否有些复杂呢?不过不用担心,当你可以正常安装Android Studio并且能够正常运行时,你的这三个配置就是可以的,属于默认搭配,你只管写代码就好了。感兴趣和有时间的话,还是要深入学习一下。
Gradle
简单来讲它就是一个构建工具,也就是一些复杂的操作不需要开发者自己去弄,而是通过构建工具去完成的。Gradle有个非常突出的特点,就是它自身就是一门语言(基于Groovy),是一种自动化构建语言,相较于Maven中基于XML的各种繁琐配置,Gradle使用Groovy语言构建文件更加的灵活。但Gradle是一种DSL,是一种领域特定语言,也就是在特定的领域执行特定的任务的一种语言,而我们平常使用的java、python这些都是GPL(通用编程语言),所以Gradle它是不能实现软件中的实际功能。要注意的是,Gradle它并不是独属于Android。
SDK
SDK版本就是当前项目所编译的Android版本
JDK
Your project's Gradle version is incompatible with the Java version that Flutter is using for Gradle
要找到对应版本的java进行安装
可以参考这篇文章
Flutter环境安装(超详细)_flutter安装教程-CSDN博客
学习资料
1.3 搭建Flutter开发环境 | 《Flutter实战·第二版》
管理flutter版本
项目多了,会有很多不同的版本,可以使用fvm进行管理
使用 FVM 管理多个版本的 Flutter
相关文章:
flutter环境搭建实践
Dart Dart 是一种客户端和服务器端的编程语言,最早由 Google 提出。它被设计用于构建高性能、高度可伸缩和可靠的应用程序。Dart 可以编译成本地代码或者在虚拟机中直接运行。在移动应用开发中,Dart 主要用于开发 Flutter 应用。 Flutter 和 Dart 的关…...
CentOS无法解析部分网站(域名)
我正在安装helm软件,参考官方文档,要求下载 get-helm-3 这个文件。 但是我执行该条命令后,报错 连接被拒绝: curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 # curl: (7) Fai…...
使用HttpRequest工具类调用第三方URL传入普通以及文件参数并转换MultipartFile成File
使用HttpRequest工具类调用第三方URL传入普通以及文件参数 一、依赖及配置二、代码1、模拟第三方服务2、调用服务3、效果实现 一、依赖及配置 <!--工具依赖--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId&g…...
24计算机考研调剂 | 武汉科技大学
武汉科技大学冶金新技术与功能金属材料研究梯队招收研究生 考研调剂招生信息 学校:武汉科技大学 专业: 工学->治金工程 工学->材料科学与工程 工学->计算机科学与技术 工学->动力工程及工程热物理 工学->机械工程 年级:2024 招生人数:20 招生状态:正在招…...
个人网站制作 Part 11 添加用户权限管理 | Web开发项目
文章目录 👩💻 基础Web开发练手项目系列:个人网站制作🚀 添加用户权限管理🔨使用Passport.js🔧步骤 1: 修改Passport本地策略 🔨修改用户模型🔧步骤 2: 修改用户模型 🔨…...
百科源码生活资讯百科门户类网站百科知识,生活常识
百科源码生活资讯百科门户类网站百科知识,生活常识 百科源码安装环境 支持php5.6,数据库mysql即可,需要有子目录权限,没有权限的话无法安装 百科源码可以创建百科内容,创建活动内容。 包含用户注册,词条创建ÿ…...
Linux 用户和用户组管理
Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一…...
【C++ 08】vector 顺序表的常见基本操作
文章目录 前言🌈 Ⅰ vector 类对象的定义1. 定义格式2. vector 对象的构造 🌈 Ⅱ vector 类对象的容量🌈 Ⅲ vector 类对象的访问🌈 Ⅳ vector 类对象的修改🌈 Ⅴ vector 定义二维数组 前言 vector 介绍 vector 是一…...
Day67:WEB攻防-Java安全JNDIRMILDAP五大不安全组件RCE执行不出网
知识点: 1、Java安全-RCE执行-5大类函数调用 2、Java安全-JNDI注入-RMI&LDAP&高版本 3、Java安全-不安全组件-Shiro&FastJson&JackJson&XStream&Log4j Java安全-RCE执行-5大类函数调用 Java中代码执行的类: GroovyRuntimeExecPr…...
GCNv2_SLAM-CPU详细安装教程(ubuntu18.04)
GCNv2_SLAM-CPU详细安装教程-ubuntu18.04 前言一、安装第三方库1.安装Pangolin2.安装OpenCV3.安装Eigen4.安装Pytorch(c) 二、安装以及运行GCNv2_SLAM1.安装编译GCNv2_SLAM2.RGBD模式模式运行演示案例 总结 前言 paper:https://arxiv.org/pdf/1902.11046.pdf githup::https://…...
使用gitee自动备份文件
需求 舍友磁盘前两天gg了,里面的论文没有本地备份,最后费劲巴拉的在坚果云上找到了很早前的版本。我说可以上传到github,建一个私人仓库就行了,安全性应该有保证,毕竟不是啥学术大亨,不会有人偷你论文。但是…...
智慧城市新篇章:数字孪生的力量与未来
随着信息技术的迅猛发展和数字化浪潮的推进,智慧城市作为现代城市发展的新模式,正在逐步改变我们的生活方式和社会结构。在智慧城市的构建中,数字孪生技术以其独特的优势,为城市的规划、管理、服务等方面带来了革命性的变革。本文…...
python讲解(2)
目录 一.变量与赋值 二.字符串类型 引号: 三引号: 字符串拼接 三.len函数 四.注释 注释的方法 一.# 二.文档字符串 注释的要求 群体注释 五.python的报错 六.bool类型 一.变量与赋值 python中的变量是不需要声明的,直接定义即…...
安卓安装Magisk面具以及激活EdXposed
模拟器:雷电模拟器 安卓版本: Android9 文中工具下载链接合集:https://pan.baidu.com/s/1c1X3XFlO2WZhqWx0oE11bA?pwdr08s 前提准备 模拟器需要开启system可写入和root权限 一、安装Magisk 1. 安装magisk 将magisk安装包拖入模拟器 点击:…...
C到C++的敲门砖-1
文章目录 关键字命名空间输入和输出缺省参数函数重载 关键字 相较于C语言32个关键字: autodoubleintstructbreakelselongswitchcaseenumregistertypedefcharexternreturnunionconstfloatshortunsignedcontinueforsignedvoiddefaultgotosizeofvolatiledoifwhilesta…...
Qt文件以及文件夹相关类(QDir、QFile、QFileInfo)的使用
关于Qt相关文件读写操作以及文件夹的一些知识,之前也写过一些博客: Qt关于路径的处理(绝对路径、相对路径、路径拼接、工作目录、运行目录)_qt 相对路径-CSDN博客 C/Qt 读写文件_qt c 读取文本文件-CSDN博客 C/Qt读写ini文件_…...
ChatGPT编程实现简易聊天工具
ChatGPT编程实现简易聊天工具 今天借助[[小蜜蜂]][https://zglg.work]网站的ChatGPT练习socket编程,实现一个简易聊天工具软件。 环境:Pycharm 2021 系统:Mac OS 向ChatGPT输入如下内容: ChatGPT收到后,根据返回结…...
C#-用于Excel处理的程序集
在.NET开发中,处理Excel文件是一项常见的任务,而有一些优秀的Excel处理包可以帮助开发人员轻松地进行Excel文件的读写、操作和生成。本文介绍了NPOI、EPPlus和Spire.XLS这三个常用的.NET Excel处理包,分别详细介绍了它们的特点、示例代码以及…...
HTTPS基础
目录 HTTPS简介 HTTP与HTTPS的区别 CA证书 案例 服务器生成私钥与证书 查看证书和私钥存放路径 Cockpit(图像化服务管理工具) HTTPS简介 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密&…...
【Flink SQL】Flink SQL 基础概念(四):SQL 的时间属性
《Flink SQL 基础概念》系列,共包含以下 5 篇文章: Flink SQL 基础概念(一):SQL & Table 运行环境、基本概念及常用 APIFlink SQL 基础概念(二):数据类型Flink SQL 基础概念&am…...
COMSOL 6.1 激光粉末床熔融气孔缺陷演化仿真:开启微观世界的探索之旅
COMSOL 6.1 激光粉末床熔融气孔缺陷演化仿真案例模型 本案例选用层流和流体传热模块,采用水平集法,考虑材料的热物性以及激光加工过程中的马兰戈尼效应、熔融金属表面张力、反冲压力、相变潜热、热对流和热辐射,建立含气孔缺陷的二维数值仿真…...
别再只加Mask了!手把手教你用FlashAttention实现真正的Sliding Window Attention(附代码)
突破传统误区:用FlashAttention实现高效滑动窗口注意力的实战指南 在Transformer模型优化领域,许多开发者对滑动窗口注意力(Sliding Window Attention, SWA)存在一个普遍误解——认为只需在注意力矩阵上添加滑动窗口掩码就能实现线性复杂度。这种错误认…...
Zemax光学设计(三)——从艾里斑到系统分辨率:衍射极限的实战解析
1. 艾里斑:光学的终极像素 当你用手机拍夜景时,为什么远处的路灯总变成模糊的光团?这背后隐藏着光学系统的基本限制——艾里斑。我在设计微型内窥镜镜头时,曾花了三周时间优化像差,最终却发现图像清晰度卡在一个无法突…...
FPGA网络加速入门:拆解Xilinx 7系列GTP与1G/2.5G Ethernet PCS/PMA IP核,搞懂SGMII接口那些事
FPGA网络加速实战:从Xilinx GTP架构到SGMII接口的深度解析 在FPGA高速通信领域,以太网接口设计一直是工程师面临的核心挑战之一。当我们需要在Xilinx 7系列FPGA上实现1G/2.5G以太网功能时,GTP收发器与PCS/PMA IP核的配置往往成为项目成败的关…...
投入式水位监测站 地下水位监测设备
地下水位自动监测设备,核心亮点在于“本安防爆设计”,严格遵循本安型防爆标准,从电路设计、材质选用、结构防护三方面杜绝点火源,确保在井下易燃易爆气体环境中安全运行,彻底消除设备运行带来的安全隐患,真…...
快捷键冲突终结者:Hotkey Detective全方位排障指南
快捷键冲突终结者:Hotkey Detective全方位排障指南 【免费下载链接】hotkey-detective A small program for investigating stolen hotkeys under Windows 8 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 问题诊断:你的快捷键为…...
Mac用户的移动Win10工坊:从WTG配置到驱动、激活、文件共享的完整避坑指南
Mac用户的移动Win10工坊:从WTG配置到驱动、激活、文件共享的完整避坑指南 当Mac用户需要运行Windows应用时,双系统方案往往是最佳选择。而通过Windows To Go(WTG)技术将Win10安装在移动硬盘上,不仅保留了Mac原生系统的…...
5个步骤掌握MelonLoader:让Unity游戏模组开发变得轻松有趣
5个步骤掌握MelonLoader:让Unity游戏模组开发变得轻松有趣 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 你是否曾…...
别再手算LLC参数了!用Mathcad Prime 8.0自动生成增益曲线,附我验证过的产品级模板
告别手工计算:用Mathcad Prime 8.0打造智能LLC设计工作流 深夜的办公室里,电源工程师小王盯着屏幕上密密麻麻的公式叹了口气——这已经是本周第三次因为手工计算LLC谐振参数出错导致样机测试失败了。在中小型电源企业,像小王这样的场景每天都…...
从零构建树莓派人脸识别门禁:硬件选型、环境部署与实战避坑
1. 硬件选型与采购清单 第一次玩树莓派人脸识别项目时,我在淘宝上花了整整三天对比各种硬件参数。当时最纠结的就是摄像头模块——普通USB摄像头才30块钱,而官方推荐的Raspberry Pi Camera Module V2要200多。后来实测发现,这差价真不能省。 …...
