Flutter环境搭建踩坑集锦

chatgpt/2023/9/27 16:03:00

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官网不仅用于安装教程,后面很多可以学习的东西也别浪费了,入门学习相当不错,白白了各位。

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

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

CHI中的error处理

Error Handling Error types 包含两种sub-packet级别的error, 和两种packe级别的error; Packet level error Data Error, DERR □ 访问的地址是正确的,但是访问的数据有错误;通常是在数据崩溃的时候使用,例如ECC&#xf…

TCP四次握手为什么客户端等待的时间是2MSL

目录 什么是MSL从第三次握手开始分析总结 什么是MSL MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。 从第三次握手开始分析 第三次握手服务端…

Java互斥锁简单实例

Java互斥锁简单实例 本文实例讲述了java互斥锁。分享给大家供大家参考。具体分析如下: 互斥锁,常常用于多个线程访问独占式资源,比如多个线程同时写一个文件,虽然互斥访问方式不够高效,但是对于一些应用场景却很有意义…

活动回顾|阿里云 Serverless 技术实战与创新成都站回放PPT下载

7月29日“阿里云 Serverless 技术实战与创新”成都站圆满落幕。活动受众以关注 Serverless 技术的开发者、企业决策人、云原生领域创业者为主,活动形式为演讲、动手实操,让开发者通过一个下午的时间增进对 Serverless 技术的理解,快速上手 Se…

c++ for循环中使用auto关键字

用法1 代码 #include <iostream> #include <stdio.h> #include <map> using namespace std;int main() {std::map<int, int> mapKeys;mapKeys[1] 1;mapKeys[2] 2;mapKeys[3] 3;mapKeys[4] 4;for(auto it : mapKeys){if(1 it.first){it.second …

一种嵌入式LCD显示多国语言方法

简介 介绍一种嵌入式LCD显示多国语言方法&#xff0c;由于很多产品嵌入式资源有限&#xff0c;显示的字符也不多&#xff0c;所以可以自己制作一些字库&#xff0c;而不用字库芯片。 下面展示一种从字库取出字符的方法。 代码示例 #include <stdio.h> #include <s…

【adb】adb常用命令

Android Debug Bridge (adb) Android 调试桥 (adb) 是一种功能多样的命令行工具&#xff0c;可让您与设备进行通信。adb 命令可用于执行各种设备操作&#xff0c;例如安装和调试应用。adb 提供对 Unix shell&#xff08;可用来在设备上运行各种命令&#xff09;的访问权限。它…

Matlab出现load(‘data/2Dletters/C.mat‘)错误,即加载数据错误

在运行matlab程序时&#xff0c;如果出现加载数据错误&#xff0c;则是因为没有定位到相应文件夹。 解决办法如下&#xff1a; 通过红色框左边的选项&#xff08;浏览文件夹&#xff09;定位到我们所运行.m程序所在的文件夹即可
推荐文章