当前位置: 首页 > news >正文

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指令执行完毕后&#xff…...

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…...

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​,覆盖应用全生命周期测试需求,主要提供五大核心能力: ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...