新装电脑Flutter环境部署坑汇总(持续更新)

1.本地安装,安装fvm的坑

本人电脑使用windows ,安装fvm则一般使用choco安装,那么首先需要安装choco,打开powershell/或者cmd运行以下命令:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; 
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) 

choco安装成功后 通过choco install fvm可安装fvm

fvm安装成功后,通过命令行中使用fvm命令对flutter 版本进行控制

fvm安装后需要对flutter 进行管理 使用flutter global xxxx 指定全局的flutter版本,运行这个命令后,会自动在fvm/versions统计生成一个default目录,该目录可以用来配置默认的flutter版本,这样才能全局使用flutter 命令操作,否则会提示 flutter 不是一个命令之类的提示

2.fvm管理flutter版本 

进入对应项目目录中,运行fvm use xxx切换flutter版本 ,但这时遇到另一个坑(https://storage.flutter-io.cn/ 镜像无法使用的问题 ),该坑最好在配置PUB_HOSTED_URL和FLUTTER_STORAGE_BASE_URL两个配置时将对应地址改成国内其他镜像环境,如(下面的几种镜像任选其一即可 ):

//清华镜像FLUTTER_STORAGE_BASE_URL="https://mirrors.tuna.tsinghua.edu.cn/flutter" 
PUB_HOSTED_URL="https://mirrors.tuna.tsinghua.edu.cn/dart-pub"//上交镜像PUB_HOSTED_URL=https://dart-pub.mirrors.sjtug.sjtu.edu.cn
FLUTTER_STORAGE_BASE_URL=https://mirrors.sjtug.sjtu.edu.cn//CNNIC镜像
PUB_HOSTED_URL=http://mirrors.cnnic.cn/dart-pub
FLUTTER_STORAGE_BASE_URL=http://mirrors.cnnic.cn/flutter//腾讯镜像
PUB_HOSTED_URL=https://mirrors.cloud.tencent.com/dart-pub
FLUTTER_STORAGE_BASE_URL=https://mirrors.cloud.tencent.com/flutter

这里面还有个坑问题,多版本管理使用fvm global xxx生成默认的default目录之后,在vscode命令行中会出现一个问题就是,cmd命令行和vscode命令行用的flutter版本不是同一个,这时候可以修改settings.json文件,将flutterSdkPath配置改成如下方式

{"dart.flutterSdkPath": "G:\\fvm\\default"
}

 注意:因为本人是使用的vscode编辑器开发的flutter,vscode的命令行可能没有android studio命令行那么强大,所以像SDK版本切换后仍然会有这样的问题,这种情况就得仔细分析其他的可能原因了,我在公司电脑安装时就是这种情况,因为fluttersdkPath的问题,但android studio中只要修改了SDK版本版本就能自动切过去,感觉还是vscode配置太灵活导致(哈哈哈)

如果这时想使用vscode自带的F5启动项目,可能会碰到这样的问题:

其实在vscode终端和命令行中都能访问到git命令,这个跟git完全没有关系,解决方法反而是环境变量里面中没有C:\Windows\System32;这个路径(这里完全懵逼) :

解决方法则是环境变量的path加上这个路劲,然后重新f5启动成功

3.Gradle使用的坑

对于flutter项目编译的android项目而言,gradle的安装和配置也是比较坑的地方,gradle分发地址配置一般在gradle-wrapper.properties配置文件中,一般指定如下:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip

 也可以指定本地文件,本地文件格式一般是这样

distributionUrl=file:///D:/gradle7.4/gradle-7.4-all.zip

一般这个指向的是本地.gradle文件下的gradle-xxx-all.zip包 

另外通过gradle构建android项目时网络会比较慢,如果有梯子最好借助梯子安装依赖,如果没有梯子最好配置下镜像环境,在gradle版本目录中如:

G:\Gradle\repo\wrapper\dists\gradle-7.5-all\6qsw290k5lz422uaf8jf6m7co\gradle-7.5\init.d

创建init.gradle文件,文件中可以配置gradle的镜像

allprojects {repositories {mavenLocal()maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" }mavenCentral()}buildscript { repositories { maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }maven { name "Bstek" ; url 'https://nexus.bsdn.org/content/groups/public/' }maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }}}
}

注意:这里又有个坑的地方,gradle构建项目时都是使用https,如果里面有协议名为http的最好改成https的,或者使用如下配置:

maven { allowInsecureProtocol = trueurl 'http://xxx.xxx.xxx/repository/public/' }

另外还有个坑 这个在app第一次运行时基本都会碰到,即:

 可以参考下这篇文章的思路来处理这个,找清楚原因,然后再去解决 

Flutter run 一直 Running Gradle task ‘assembleDebug’…_running gradle task 'assembledebug'...-CSDN博客

4.flutter 依赖版本问题 (巨坑)

编译时报错得手动修改依赖的版本号,

对于依赖所依赖的依赖,可能会找不到依赖的yaml配置的位置(这种情况只能认栽了),我本地跑的时候是这个文件 (主要是因为之前项目是3.7.1升级到3.7.8)

C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.dev\community_charts_flutter-1.0.2\lib\src\behaviors\legend\legend_layout.dart

上图的这些地方未作空安全的处理,导致编译不过去,无奈手动修改代码才能继续编译,后面继续又报异常

这种异常是因为kotlin_version版本较低导致,原来为1.6.x更新到1.7.x即可

5.模拟器的坑

最后模拟器一般是基于x86_64的配置的,所以最好在android/app/build.gradle中配置,需要这样配置的一般情况都是libflutter.so文件无法找到(特别是之前没安装过flutter项目时特别容易出现)

debug {ndk {abiFilters "x86_64"}}}

真机调试或者其他设备调试可以根据下图架构进行选择

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

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

相关文章

图像置乱加密-Arnold加密算法

置乱加密是另一种较常用的加密方法,现也被许多文献选用,置乱加密可以是以像素为单位进行全局置乱,该方式打乱了图像像素值的位置,使其图像内容失去相关性,达到保护的目的。也可以是以块为单位进行置乱,该方…

Kafka报错ERROR Exiting Kafka due to fatal exception during startup

报错: ERROR Exiting Kafka due to fatal exception during startup. (kafka.Kafka$) kafka.common.InconsistentClusterIdException: The Cluster ID FSzSO50oTLCRhRnRylihcg doesnt match stored clusterId Some(0oSLohwtQZWbIi73YUMs8g) in meta.properties. Th…

某宝因SSL证书过期无法正常访问,证书过期问题频发企业如何破局?

近日,有网友发现,某宝网站无法正常访问,出现“此连接非私人连接”提示,而导致此类提示的罪魁祸首是因为SSL证书过期!其实,近年来,因SSL证书过期导致的网站无法正常访问的事件频频发生&#xff0…

vue2—— mixin 超级详细!!!

mixin Mixin是面向对象程序设计语言中的类,提供了方法的实现。其他类可以访问mixin类的方法而不必成为其子类 Mixin类通常作为功能模块使用,在需要该功能时“混入”,有利于代码复用又避免了多继承的复杂 vue中的mixin 先来看一下官方定义 mi…

YOLO-yolov5构建数据集

1.收集数据集 创建一个dataset文件夹用来存放图片数据集。 我这里使用的图片数据集,是对一段视频进行抽帧得到的200张狗狗图片。 在dataset文件夹下新建images和labels文件夹,并将200张狗狗图片放入images中。 2.标注数据集 2.1安装标注工具labelimg…

Jenkins邮件发送失败问题解决

如下提示为 Extended E-mail Notification开启Debug模式下显示的错误信息, (Debug模式设置方法:Dashboard-> manage Jenkins->configure System)DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM XOAUTH2 DEB…

OpenCV——Bernsen局部阈值二值化方法

目录 一、Bernsen算法1、算法概述2、参考文献二、代码实现三、结果展示Bernsen局部阈值二值化方法由CSDN点云侠原创,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、Bernsen算法 1、算法概述 Bernsen 算法是另一种流行的局部阈值二值化方…

网络相关知识总结

1、网口设置 网口设置IP,即操作/etc/sysconfig/network-scripts路径下的ifcfg-xx文件 主要参数详解: DEVICE:网口名 ONBOOT:表示启动系统时是否激活网卡,yes为激活,no不激活 HWADDR:mac值 DEFROUTE://默认路由设置…

Docker容器:docker基础

目录 一.docker前言 云计算服务模式 关于 docker 产品 虚拟化产品有哪些? ① 寄居架构 ② 源生架构 虚拟化技术概述 主流虚拟化产品对比 1. VMware系列 2. KVM/OpenStack 3. Xen 4. 其他半/全虚拟化产品 二. docker 的相关知识 1. docker 的概念 doc…

[linux网络编程]UDP协议和TCP协议的使用

目录 看以下内容前,你要先了解main函数带参数有什么用、 了解socket的相关函数接口 如果不了解socket的相关函数接口请先看我这篇文章 main函数带参数有什么用 UDP udp_server 1.生成socket文件描述符 2.填充sockaddr_in信息 3.bind 4.发(收&…

学习100个Unity Shader (14) ---透明效果

文章目录 渲染队列透明度测试(Alpha Test)效果Shader 透明度混合(Alpha Blending)效果Shader 参考 渲染队列 由”Queue“ 标签决定,索引号越小越早被渲染: 名称队列索引号Background1000Geometry2000Alph…

从虚拟化走向云原生,红帽OpenShift“一手托两家”

汽车行业已经迈入“软件定义汽车”的新时代。吉利汽车很清醒地意识到,只有通过云原生技术和数字化转型,才能巩固其作为中国领先汽车制造商的地位。 和很多传统企业一样,吉利汽车在走向云原生的过程中也经历了稳态业务与敏态业务并存带来的前所…

牛客NC98 判断t1树中是否有与t2树完全相同的子树【simple 深度优先dfs C++/Java/Go/PHP】

题目 题目链接: https://www.nowcoder.com/practice/4eaccec5ee8f4fe8a4309463b807a542 思路 深度优先搜索暴力匹配 思路和算法这是一种最朴素的方法——深度优先搜索枚举 s 中的每一个节点,判断这个点的子树是否和 t 相等。如何判断一个节点的子树是否…

JSP在页面用<%=调用声明函数时出现HTTP 500错误

JSP在页面用<%调用声明函数时出现HTTP 500错误 错误描述&#xff1a; Eclipse在编写JSP页面时&#xff0c;在其中采用<%&#xff01;%>方式声明了函数&#xff0c;然后在页面中用<%函数名%>方式调用时&#xff0c;出现HTTP状态500错误&#xff0c;提示为&#…

【吊打面试官系列】Java高并发篇 - Java 中 notify 和 notifyAll 有什么区别?

大家好&#xff0c;我是锋哥。今天分享关于 【Java 中 notify 和 notifyAll 有什么区别&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; Java 中 notify 和 notifyAll 有什么区别&#xff1f; notify() 方法不能唤醒某个具体的线程&#xff0c;所以只有一个线程…

maya blendshape

目录 shape编辑器 maya创建blendshape python 脚本 添加形变动画 查看顶点个数 shape编辑器 打开方式&#xff1a; 窗口-动画编辑器-形变编辑器 maya创建blendshape python 脚本 import maya.cmds as cmds# 创建基础网格 - 球体 baseMesh cmds.polySphere(name"bas…

路透社:美国SEC将拒绝以太坊ETF

4月25日&#xff0c;据路透社报道&#xff0c;美国SEC在下个月将拒绝以太坊现货ETF申请。根据4位知情人士表示&#xff0c;在最近几周与美国证券交易委员会&#xff08;SEC&#xff09;进行了会议之后&#xff0c;美国发行商和其他公司预计SEC将拒绝他们推出与以太坊价格挂钩的…

15(第十四章,大数据和数据科学)

目录 概述 基本概念 数据仓库/传统商务智能与数据科学的比较 数据科学的过程 大数据 大数据来源 数据湖 机器学习 监督学习 无监督学习 强化学习 扩展 1、数据仓库&#xff08;Data Warehouse&#xff09; 2、数据湖(Data Lake) 3、大数据平台1.0 4、数据中台 …

基于ssm的高校课程评价评教系统(含源码+sql+视频导入教程+文档+PPT)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于ssm的高校课程评价评教系统拥2有四种角色 管理员&#xff1a;学生管理、指标管理、课程两个、院系管理、评教管理等 学生&#xff1a;评教教师、登录注册、查看课程信息等 专家&am…

MySQL-多表查询-练习

练习 1.写一个查询显示所有雇员的 last name、department id、anddepartment name。 SELECT e.LAST_NAME,e.DEPARTMENT_ID,d.DEPARTMENT_NAME FROM employees e,departments d WHERE e.DEPARTMENT_ID d.DEPARTMENT_ID;2.创建一个在部门 80 中的所有工作岗位的唯一列表&#x…