Flutter之环境搭建(小白教程)

这个章节我们学习如何安装Flutter,配置 FlutterAndroid Studio 环境,做开发的前置工作。
环境搭建有点麻烦,特别是Android环境的安装,没有代理简直就是噩梦,要有耐心一起加油!

在这里插入图片描述
Flutter 官网地址

一. 操作系统选择

学习阶段: Windows或者macOS(苹果操作系统)都是可以的
开发阶段: 一般需要使用macOS,因为我们需要针对iOS进行调试,通常方便起见还是选择macOS

以我为例,现在就是用 Windows 给大家做演示,学习阶段也使用的事 Windows。开发阶段我也准备用 Windows 来做开发,公司有同事用的 Mac OS 后期调试会用同事 Mac 调试。

二. 安装Flutter SDK

使用Flutter开发,首先我们需要安装一个Flutter的SDK。

2.1 在国内网络环境下使用 Flutter

为加快 Flutter 的下载以及安装速度,请考虑使用 镜像站点 和 镜像。
Flutter 项目会依赖一些东西,在国内下载这些依赖会有一些慢,所以我们可以将它们的安装源换成国内的(也就是设置国内的镜像)
Windows 用户还是需要修改环境变量

  • Windows环境变量修改:点击计算机图标 - 属性 - 高级系统设置 - 高级 - 环境变量
  • 新建 变量 PUB_HOSTED_URL,其值为https://pub.flutter-io.cn
  • 新建 变量 FLUTTER_STORAGE_BASE_URL, 其值为https://storage.flutter-io.cn

在本例中,flutter pub get 会在任何设置了 PUB_HOSTED_URLFLUTTER_STORAGE_BASE_URL 的终端中去获取 flutter-io.cn 上的 package。

在这里插入图片描述

2.2 获取 Flutter SDK

来到Flutter的官网网站,选择最新稳定的Flutter SDK的版本

  • 网站地址:Flutter SDK 版本列表
  • 将压缩包解压,然后把其中的 flutter 目录整个放在你想放置 Flutter SDK 的路径中
  • 选择自己的操作系统和最新稳定的版本(Stable版本),我当前使用的是最新稳定版 3.16.8

在这里插入图片描述

2.3 安装Flutter,配置环境变量

解压下载好的Flutter SDK 放在你想放置的目录(不用用中文及特殊符号)
在这里插入图片描述
Windows环境变量修改:点击计算机图标 - 属性 - 高级系统设置 - 高级 - 环境变量
找到Path,在其中添加 Flutter SDK目录下 bin 目录

在终端中执行 flutter --version,出现如下内容,说明安装flutter成功

在这里插入图片描述

三. 配置Android环境

在将 Path 变量更新后,打开一个新的控制台窗口,然后 flutter doctor 命令。如果它提示有任何的平台相关依赖,那么你就需要按照指示完成这些配置:
在这里插入图片描述

 Android toolchain - develop for Android devices
    X cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.

3.1 安装 Android Studio

  1. 官网地址: Android Studio 官网下载地址
  2. 安装直接双击安装即可

出现下图安装成功
在这里插入图片描述

3.2 配置 Android 模拟器

安装好后,我们就可以去创建模拟器:选择 More Actions - Virtual Device Manager
在这里插入图片描述点击 + 号
在这里插入图片描述

选择一个你想用的设备

在这里插入图片描述
** 选择Android的版本 **
在这里插入图片描述
现在发现页面有一个红色文字 HAXM is not installed ,点击去下载
报错: Intel® HAXM installation failed. To install Intel® HAXM follow the instructions found at: https://github.com/intel/haxm/wiki/Installation-Instructions-on-Windows
在这里插入图片描述

3.3 解决报错: Intel® HAXM installation failed. To install Intel® HAXM follow the instructions found at: https://github.com/intel/haxm/wiki/Installation-Instructions-on-Windows

我这里的报错原因:
Hyper-V 在固件中启用虚拟化 没有开启,导致下载 英特尔HAXM 失败

解决方案:验证虚拟化支持,重装HAXM,这里写太长了,Android中下载 HAXM 报错 Intel® HAXM installation failed,如何解决?,点击链接查看解决方案

3.3 解决报错:Exception in thread “main” java.net.ConnectException: Connection timed out: connect

通过上面,我们成功的解决了 Virtual Device 安装报错的问题,但好不容易要运行项目了,又开始报错了。

问题原因:这其实是因为无法下载gradle导致的,正确的做法是
解决方法:运行 flutter run -v 查看究竟下载的是哪个版本的gradle,或者看下方图一,android -> gradle -> wrapper -> gradle-wrapper.properties ,其中 distributionUrl 就是下载地址及对应的版本号。
解决方案

在这里插入图片描述

在这里插入图片描述

这里强烈建议自己打开链接,去下载好,然后修改 distributionUrl 的引用路径,我电脑是有代理的,但是不用这种方式仍然不行。

在这里插入图片描述

第一次运行需要等很久很久~~~~~~

四. 开发工具的选择

官方推荐两个工具来开发Flutter:Android Studio 和 VSCode,我们选择哪一个呢?

VSCode是最近非常非常流行的开发工具,并且非常好用!而且VSCode最近已经有取代WebStorm作为前端首选开发工具的趋势了,我身为一个前端开发者,也很喜欢 VSCode 这种轻量的编辑器;

4.1 VSCode优缺点

VSCode的优点

  • VSCode其实并不能称之为是一个IDE,它只是一个编辑器而已。
  • 所以它非常的轻量级,不会占用你非常大的内存消耗,而且启动速度等都非常快,对于电脑配置不是特别高的小白,肯定是一个非常好的选择。
  • 并且你可以在VSCode上安装各种各样的插件来满足自己的开发需求,例如:Flutter、Dart。

`VSCode的缺点:

  • 很多Android Studio包括的方便操作没有,比如点击启动、热更新点击等;
  • 而且在某些情况下会出现一些问题;比如之前我在使用的过程中,有时候热更新不及时常常看不到效果,必须重启;
  • 比如某些情况下,没有代码提示不够灵敏;

使用VSCode开发Flutter我们需要安装两个插件:Flutter和Dart

4.2 Android Studio优缺点

对于进行过 Android 开发或者使用过 Webstorm、IDEA、PHPStorm等的小白,使用Android Studio肯定是没有任何问题的,比如我就是。

Android Studio的优点

  • 集成开发环境(IDE)不用多说,你需要的功能基本都有
  • 而且上面说的VSCode存在的问题,在Android Studio中基本不会出现

Android Studio的缺点

  • 一个字:重
  • 无论是IDE本身,还是使用Android Studio启动项目,都会相对慢一些
  • 占据的计算机资源也很多,所以电脑配置较低是会出现卡顿

使用Android Studio开发Flutter我们需要安装两个插件:Flutter和Dart

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ATT汇编

指令后缀 AT&T格式的汇编指令有不同的后缀 其中 b表示byte,字节 w表示word,字/两字节 l表示long,32位系统下的long是4字节 q表示quad,意味四重,表示4个字/8字节 寄存器用途 参见 AT&T的汇编世界 - Gemfield…

(自用)learnOpenGL学习总结-高级OpenGL-立方体贴图

ok终于来到了立方体贴图了,在这里面我们可以加入好看的天空包围盒,这样的画我们的背景就不再是黑色的了! 首先,立方体贴图和前面的sampler2D贴图一样,不过是6个2D组成的立方体而已。 那么为什么要把6个组合在一起呢&…

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析

内容参考于:易道云信息技术研究院VIP课 上一个内容:自动化助手显示物品数据-CSDN博客 然后游戏中有弓箭,弓箭有数量,可以作为突破口,也可以使用物品id 获取弓的方式 获取弓箭的方式 然后搜索250 然后搜索出一个 然后…

【智能家居入门之微信小程序控制下位机】(STM32、ONENET云平台、微信小程序、HTTP协议)

实现微信小程序控制单片机外设动作 一、使用ONENET可视化组件控制单片机外设动作二、使用微信小程序控制单片机外设动作三、总结 本篇博客话接上文: https://blog.csdn.net/m0_71523511/article/details/135892908 上一篇博客实现了微信小程序接收单片机上传的数据…

《吐血整理》高级系列教程-吃透Fiddler抓包教程(30)-Fiddler如何抓取Android7.0以上的Https包-番外篇

1.简介 通过宏哥前边几篇文章的讲解和介绍想必大家都知道android7.0以上,有android的机制不在信任用户证书,导致https协议无法抓包。除非把证书装在系统信任的证书里,此时手机需要root权限。但是大家都知道root手机是非常繁琐的且不安全&…

开源大数据集群部署(七)Freeipa卸载

作者:櫰木 1、命令卸载 卸载FreeIPA服务器和客户端的命令,以及清理相关残留文件和卸载相关软件包。 ipa-server-install -U --uninstall #服务端卸载 ipa-client-install -U --uninstall #客户端卸载 #删除残留文件,避免二次安装失败 cd /va…

数据可视化工具JSON Crack结合内网穿透实现公网访问

文章目录 1. 在Linux上使用Docker安装JSONCrack2. 安装Cpolar内网穿透工具3. 配置JSON Crack界面公网地址4. 远程访问 JSONCrack 界面5. 固定 JSONCrack公网地址 JSON Crack 是一款免费的开源数据可视化应用程序,能够将 JSON、YAML、XML、CSV 等数据格式可视化为交互…

Prometheus 监控系统的初步了解与系统搭建

目录 目录 目录 前言 Prometheus的相关知识 Prometheus特点 Prometheus的存储引擎:TSDB Prometheus的组件 1.核心组件:prometheus server Prometheus server又分为三个部分: 2.exports 3.client Library 4.cadvisor 5.blackbox-ex…

Java毕业设计-基于jsp+servlet的人事管理系统-第79期

获取源码资料,请移步从戎源码网:从戎源码网_专业的计算机毕业设计网站 项目介绍 基于jspservlet的人事管理系统:有配套报告文档,前端 jsp、jquery,后端 servlet、jdbc,集成员工档案管理、公告浏览、请假信…

H5项目使用@microsoft/fetch-event-source

前言: 在microsoft/fetch-event-source 文档中,没有介绍在项目中使用script 引入,只介绍了通过npm 引入的方式;项目的接口又是 post 方式的流式接口。 解决方式: 借助 webpack 工具 实现步骤: 1、初始化…

vue预览pdf文件的几种方法

文章目录 vue预览pdf集中方法方法一:方法二:展示效果:需要包依赖:代码: 方法三:展示效果:需要包依赖:代码:自己调参数,选择符合自己的 vue预览pdf集中方法 我…

方差与协方差之间的区别?

方差和协方差都是用来衡量随机变量之间关系的统计量,但它们的计算方式和含义有所不同。 方差(Variance):方差是描述数据集合离散程度的统计量,它衡量了数据点与均值之间的平均距离。 方差越大,表示数据点越…

【AI大模型应用开发】1.3 Prompt攻防(安全) 和 Prompt逆向工程

随着GPT和Prompt工程的大火,随之而来的是隐私问题和安全问题。尤其是最近GPTs刚刚开放,藏在GPTs后面的提示词就被网友们扒了出来,甚至直接被人作为开源项目发布,一点安全和隐私都没有,原作者的收益也必然受到极大损失……

图灵日记之java奇妙历险记--抽象类和接口

目录 抽象类概念抽象类语法 接口概念规则使用特性实现多个接口接口的继承接口使用实例Clonable接口和深拷贝抽象类和接口的区别 Object类 抽象类 概念 在面向对象的概念中,所有对象都是通过类来描述的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够…

Axios使用方法详解,从入门到进阶

目录 🌳 Axios的诞生 🌳 Axios的介绍 定义 原理 特性 浏览器支持情况 如何安装 🌳 Axios的使用 ◼️ 创建vue项目 ◼️ Axios的基础用法(get、post、put 等请求方法) get方法 post方法 put和patch方法 …

Jenkins打包、发布、部署

目录 前言 一、安装jdk 二、安装maven 三、安装git 四、安装jenkins 五、访问jenkins 六、创建用户 七、配置jenkins 八、执行 总结 前言 服务器:CentOS 7.9 64位 jdk:1.8 maven:3.9.1 git:git version 1.8.3.1 jenkins&a…

C++中的智能指针

目录 背景 裸指针 智能指针 原理 智能指针 auto_ptr unique_ptr 1. unique_ptr禁止拷贝构造(copy constructor)和赋值运算() 1.1 C提供了标准库函数move() 1.2.如果unique_ptr是一个临时右值 2. unique_ptr可用于数组 shared_ptr 环状引用问题 weak_ptr 注意&#xf…

CRM管理系统有哪些应用价值?

如何杜绝员工飞单、走私单? 如何避免员工离职带走客户? ——crm管理系统 企业要想取得成功,有强大的技术支持和合适的工具辅助,crm管理系统这类工具就是客户管理系统,它是一种先进的管理模式,crm管理系统通…

浅析透明图片显示

1、理解图片构成 上面是一个飞机的透明图片,每个图片都是有一个个像素点构成的,每个像素点都是一个颜色,在内存中占4个字节,由透明度、红、绿、蓝构成。如下图: 该飞机图片飞机图片长51像素,宽63像素。就是…

苹果m1、m2安装blender GIS,解决not Imageio 报错

blender-GIS 能够在地图上生成地形,如下图所示: 使用blenderGIS过程中会有 imageio 找不到的情况, 网上的 imageio 用在苹果电脑的M1、M2芯片上好像还是没有出图,似乎这个 imageio 这个已经是好几年前的代码,没能适配…