Flutter环境搭建踩坑集锦
Flutter
- 背景
- 准备工作
- 先检查一下自己的电脑,看一下是不是满足配置要求
- 下载安装配置环境
- 下载安装JDK
- 下载安装Android studio
- 下载Flutter
- flutter doctor故障
- Android license status unknown
- Network resources 故障
- 后记
背景
发现一个不错的框架Flutter,听说一套代码就搞定Android和ios,感觉很牛逼,就来试试看,搭环境却不是那么容易,主要还是自己没搞过移动开发吧,踩了一些坑,然后记录一下,相信我遇到的问题别人也会遇到吧,而且不知道多久以后可能还会用上是不是,我可不想踩过的坑再来查一遍资料,自己整理一份吧。
准备工作
第一步当然是找一下Flutter官方文档,直接点击链接到window的安装指导,其他平台可以顺路自己找一下。
先检查一下自己的电脑,看一下是不是满足配置要求
这里按照官方文档基本没有什么问题,多数人肯定是满足要求的了,但是有一个坑让我换了台电脑搞,这里没有提示到的,那就是这个玩意居然多A卡的电脑支持有问题,主要影响是在最后生成虚拟机调试的时候,会有一些型号的手机无法模拟,也就是你有一个残缺的devicemanager,what**?搞到这里跟我说这个,虽然开发不受影响,而且可能还有其他解决方案可以解决这个问题,但是byebye,换个卡能解决的事情,而且又不是我主业,我就不研究了,这里留一下,给有缘人想办法解决吧,如果你的电脑是A卡的显卡,那么你可能就先不要尝试了,先看看有没有办法解决我说的手机模拟器的问题吧
下载安装配置环境
这里我们需要下载Flutter,Android SDK和JDK配置环境,这个下载没有先后顺序,自行操作.个人推荐的顺序是JDK,Android,Flutter
下载安装JDK
我个人是比较推荐先安装jdk的,不为别的,这套东西本身是有依赖关系的,按照依赖关系从底层建设是我的习惯。
JDK版本很多首页一般只有几个版本,也不是最新的,应该是使用最多的吧,我这里就贴一下下载列表的,想要哪个版本自己取JDK下载列表
然后就是常规操作,把Java bin加入环境变量,自己新建一个
JAVA_HOME的环境变量,值就是C:\Program Files\Java\jdk-1.8,我的是18版本的,所以是这个,自己根据安装路径和版本自己修改就可以了。
下载安装Android studio
直接去官网下载。Android官网
安装过程我就不细贴了,很多地方都有,这里写几点注意,第一遇到勾选virtual device的时候要勾选,后面下载要选择安装 Android SDK, Android SDK Platform-Tools 以及 Android SDK Build-Tools,至于版本,也是按自己的需要选择,然后有个坑是Android SDK Command-line tools没有安装,Flutter官网没有说要安装这个,而且默认好像是不安装,这个时候就需要自己手动安装一下,而且安装版本也是有讲究的,如果版本不对也会导致后面检测的时候运行失败,我就是安装的8.0的版本的
下载Flutter
直接点击官方教程上面的下载链接,一般是最新版本,由于Flutter比较新,更新比较快,有些时候可能会出现前后版本兼容没那么好的问题,所有下载之前最好还是留意一些你需要的版本,如果你是新手来学习的,就是直接下载最新版本就好了
安装也直接按官方操作皆可以了,注意事项官方文档也写的很清楚。其中提到Dart SDK是可以单独下载安装的,我自己没有单独下载,也不建议谁单独下载,毕竟都可以一步到位了,估计这里是留给老用户的。
如果你是先安装的Flutter再安装JDK和Android,安装完成之后不要急着运行Flutter doctor,虽然这个命令多运行几次也没事,但是明知环境没有配置好还是先不要运行的好,这个命令跑一遍还是要时间的,然后报一些莫名其妙的问题你不是脑壳疼?
flutter doctor故障
Android license status unknown
这个故障有很多解决方案,也就是说有很多不同的问题。这里先贴我的解决方法,然后补充别人遇到的问题和解决方案。
我的机器使用flutter doctor --android-licenses之和出现的结果是Android SDK tools没有,下载这个tools需要把Hide obsolete Packages勾选掉
然后flutter doctor --android-licenses,一直选择y就可以了,其他的问题大概也是根据flutter doctor --android-licenses这个指令的提示去解决的
别人的方案:
Network resources 故障
也就是flutter doctor最后一项出故障了
一般有两个故障,一个是git的,一个是marven的
我个人经验来看,一般只有一个,那就是marven的更新,因为是使用google的资源所以国内的大部分都报这个,换一下资源地址就好了
- 1打开flutter根目录
- 2打开文件 packages/flutter_tools/lib/src/http_host_validator.dart
- 3修改其中 kMaven(修改为http://maven.aliyun.com/nexus/content/groups/public/)
- 4删除 bin/cache(这里如果不放心可以备份,失败了重新拷回来没有问题)
- 5重新执行 flutter doctor
这个过程需要下载marven资源会需要一点时间,基本网速快也花不了多久
另一个问题是git故障,这个别人是咋回事我不知道,我这里是因为我自己科学上网导致的,科学上网关了就好了,如果你不是这个原因,那可以试试下面的方法。
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
这个我不太建议使用,即使是你先报了这个,最好也先试试上面改marven的方法,如果哪个改了还有git的问题,再试不迟,当然,你改了也没事,毕竟设置gitconfig的代理这个,并不会造成太大的影响,加上可以随时改。
后记
环境踩坑也就到这里了,欢迎评论区留言分享自己的坑点,大家共勉。最后flutter官网不仅用于安装教程,后面很多可以学习的东西也别浪费了,入门学习相当不错,白白了各位。
相关文章:

Flutter环境搭建踩坑集锦
Flutter 背景准备工作先检查一下自己的电脑,看一下是不是满足配置要求下载安装配置环境下载安装JDK下载安装Android studio下载Flutterflutter doctor故障Android license status unknownNetwork resources 故障 后记 背景 发现一个不错的框架Flutter,听…...

WPF上位机7——MySql
MySql DML语句 db操作、表操作 字段的数据类型 修改表 表的数据操作 DQL语句 数据查询和去重查询 条件查询 模糊查询 聚合查询 分组查询 排序查询 分页查询 DCL语句 函数 字符串处理函数 数值函数 日期函数 流程函数 约束 外键约束 多表查询 内连接 外连接 自连接 子查询 列…...

Linux的基本指令(2)
指令1:man 作用:可以查询linux指令语法内容。 格式: man 指令 安装man指令: yum install -y man-pages 例如: 查询 指令 ls 的语法内容。 man ls 查询 fork 指令的语法内容。 man fork 在man中存在9个手册&…...
mySql-Linux-安装
mySql-Linux-通过YUM安装 下载 yum 源 [rootspark ~]# wget http://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm --2023-07-31 22:51:21-- http://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm 正在解析主机 repo.mysql.com (repo.mysql.com…...
JS实现IOS标准时间(JSON时间格式)格式转yyyy-mm-dd格式
JS实现IOS时间格式转yyyy-mm-dd格式 /*** IOS时间格式转yyyy-mm-dd格式*param iosDate [IOS时间格式]*return {string} [yyyy-mm-dd]**/ const convertIOSDateFormat (iosDate) > {if(!iosDate) {return -;}const date new Date(iosDate);const year date.getFullYear()…...

【Jmeter】 Report Dashboard 生成html图形测试报告
目录 背景 生成图形报告的方式 1、直接使用一个已存在的 CSV文件生成 2、负载测试完成后自动生成 使用示例 报告内容详情 测试报告摘要图 响应时间随时间变化曲线 活跃线程随时间变化曲线 I/O(Bytes)随时间变化曲线(忽略事务控制器示例结果) …...

7种有效安全的网页抓取方法,如何避免被禁止?
网页抓取是一种从互联网上抓取网页内容的过程,但在网络抓取种相信您也经常遇到障碍?尤其是做跨境业务的,在抓取国外的网站时更有难度。但我们站在您的立场上,提供七种有效的方法来进行网页抓取而不被阻止,最大限度地降…...

flask服务生成证书文件,采用https访问,开启用户密码验证
openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 3072开启用户密码验证 auth.verify_password def verify_password(username, password):if username abcdefg and password 1234546:return usernameapp.route(/post_request, methods[POST…...
上海首个“零工”就业云平台上线
1.背景 今年6月,黄浦区人社局在建立新业态新职业岗位信息发布机制,挖掘数字经济、电商微商、兼职、共享、远程等新业态岗位的基础上,和人力资源机构携手打造全市首个“新经济、新业态”零工就业云平台。 2. 平台简介 平台上汇聚了新生代互…...

面试必考精华版Leetcode104. 二叉树的最大深度
题目: 代码(首刷自解 day23): class Solution { public:int maxDepth(TreeNode* root) {if(rootnullptr) return 0;return max(maxDepth(root->left),maxDepth(root->right))1;} };...
winform panel中放置 usercontrol ,设置usercontrol随着dpi分辨率变化
在 WinForms 中,如果要使 UserControl 随着 DPI 分辨率的变化而自适应调整大小,可以遵循以下步骤: 使用 Anchor 和 Dock 属性:在 UserControl 中的控件布局时,使用 Anchor 和 Dock 属性来适应父控件的大小变化。 处理…...

更新页面无法回显
需求与问题: 在菜品管理开发中,我需要修改菜品,第一步是回显页面,但在我再三确认代码无误的情况下依旧无法回显内容 问题发现与解决: 经过排查,我发现我的DishDTO内容如下: Data public clas…...

CS 144 Lab Four -- the TCP connection
CS 144 Lab Four -- the TCP connection TCPConnection 简述TCP 状态图代码实现完整流程追踪 测试 对应课程视频: 【计算机网络】 斯坦福大学CS144课程 Lab Three 对应的PDF: Lab Checkpoint 4: down the stack (the network interface) TCPConnection 简述 TCPConnection 需…...

在Volo.Abp微服务中使用SignalR
假设需要通过SignalR发送消息通知,并在前端接收消息通知的功能 创建SignalR服务 在项目中引用 abp add-package Volo.Abp.AspNetCore.SignalR在Module文件中添加对模块依赖 [DependsOn(...typeof(AbpAspNetCoreSignalRModule))] public class IdentityApplicati…...

数据可视化(七)常用图表的绘制
1. #seaborn绘制常用图表 #折线图 #replot(x,y,kind,data) #lineplot(x,y,data) #直方图 #displot(data,rug) #条形图 #barplot&…...
【ARM 常见汇编指令学习 8 - dsb sy 指令及 dsb 参数介绍】
文章目录 ARM dsb sy 指令 上篇文章:ARM 常见汇编指令学习 7 - LDR 指令与LDR伪指令及 mov指令 下篇文章:ARM 常见汇编指令学习 9 - 缓存管理指令 DC 与 IC ARM dsb sy 指令 数据同步屏障是一种特殊类型的内存屏障。 只有当DSB指令执行完毕后ÿ…...

YOLOv5本地模型训练报错解决
报错解决 页面文件太小,无法完成操作 训练过程中,发生下图所示的报错,同时pycharm崩溃 1. 更改虚拟内存 进入高级系统设置,应该都会进,就不说过程了 设置虚拟内存大小 2. 减小占用内容大小 新建一个fixNvPe.py程序…...
tomcat p12证书另存为nginx .crt证书和.key私钥
tomcat p12证书另存为nginx .crt证书和.key私钥 Tomcat使用的.pfx或.keystore文件都是私钥及公钥证书一起的,通过pin保证安全;nginx只需要使用.pem或.crt公钥证书文件和.key私钥即可,如果原ssl证书不方便重新下载,在已有tomcat证…...
Docker的userland-proxy
前言 Docker针对端口映射前后有两种方案,一种是1.7版本之前docker-proxyiptables DNAT 的方式;另一种则是1.7版本(及之后)提供的完全由iptables DNAT实现的端口映射。不过在目前docker 1.9.1中,前一种方式依旧是默认方式。但是从Docker 1.7版…...

uniapp封装request请求
在基础文件里面创建一个api文件 在创建两个 js文件 http.js 里面封装 request 请求 let baseUrl https://white.51.toponet.cn; //基地址 export const request (options {}) > {//异步封装接口,使用Promise处理异步请求return new Promise((resolve, reject…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...