Flutter环境搭建

1.Flutter 简介

1.1 Flutter 是什么 ?
  • Flutter 是一个 UI SDK(Software Development Kit)
  • 跨平台解决方案:可以实现一套代码发布移动端(iOS、Android、HarmonyOS)、Web端、桌面端
  • 目前很多公司都在用它,比如:Google、阿里、字节、腾讯、小米,尤其是阿里的咸鱼团队,为 Flutter 的生态做出了很多贡献 https://space.bilibili.com/344928717
  • Flutter 有着统一大前端的野望,并且它在不断蚕食 iOS、Android、HarmonyOS 这些原生开发
1.2 Flutter的几个特点:

美观、快速、高效、开放

  • 美观
    使用Flutter内置美丽的Material Design和Cupertino widget、丰富的motion API、平滑而自然的滑动效果和平台感知,为您的用户带来全新体验。
  • 快速
    Flutter 的 UI 渲染性能很好。在生产环境下,Flutter 将代码编译成机器码执行,并充分利用 GPU 的图形加速能力,因此使用 Flutter 开发的移动应用即使在低配手机上也能实现每秒 60 帧的 UI 渲染速度。
    Flutter 引擎使用 C++ 编写,包括高效的 Skia 2D 渲染引擎,Dart 运行时和文本渲染库。
  • 高效
    Hot Reload (热重载),在前端已经不是什么新鲜的东西,但在移动端之前一直是没有的
  • 开放
    Flutter 是开放的,它是一个完全开源的框架。

2.Flutter开发环境搭建

2.1 Mac搭建 Flutter 开发环境

参考文档:https://flutter.cn/docs/get-started/install/macos
安装flutter

  • 下载:https://docs.flutter.cn/get-started/install/macos/mobile-ios#install-the-flutter-sdk
  • 选择自己的操作系统和最新稳定的版本(Stable版本)
  • 创建一个可以安装 Flutter 的文件夹,文件夹名称随意,我这边命名为 flutter_dev, 将下载好的sdk拖入flutter_dev中
    在这里插入图片描述
  • 配置Flutter的环境变量
    因为我们之后需要在命令行执行Flutter的命令,所以需要配置环境变量
    macOS或者Linux系统,需要编辑~/.bash_profile文件 或者 ~/.zshenv 文件
export PATH=/Users/RobinLee/flutter_dev/flutter/bin:$PATH

创建 /.zshrc文件 ,编辑

source ~/.bash_profile

在终端中运行source ~/.zshrc命令,‌使新的环境变量设置立即生效。
在终端中执行flutter --version,出现如下内容,说明安装flutter成功
在这里插入图片描述

  • 配置镜像
    flutter项目会依赖一些东西,在国内下载这些依赖会有一些慢,所以我们可以将它们的安装源换成国内的(也就是设置国内的镜像)
    macOS或者Linux操作系统,依然是编辑~/.bash_profile文件
#flutter镜像
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
2.2 Windows搭建 Flutter 开发环境
  • 参考文档:https://flutter.cn/docs/get-started/install/windows
  • 下载:https://docs.flutter.cn/get-started/install/windows/mobile#install-the-flutter-sdk
  • 选择自己的操作系统和最新稳定的版本(Stable版本)
    安装Flutter
  • 解压下载好的 Flutter SDK
  • 这个在 Windows 和 macOS 都是一样的(选择一个自己想要安装的目录)
    在这里插入图片描述
  • 配置 Flutter 的环境变量
    • Windows 环境变量修改:点击计算机图标 - 属性 - 高级系统设置 - 高级 - 环境变量
    • 找到 Path,在其中添加 Flutter SDK目录下bin目录

在这里插入图片描述

  • 在终端中执行 flutter --version,出现如下内容,说明安装flutter成功
    在这里插入图片描述
2.3 配置 ios环境

如果想为Flutter配置iOS开发环境,需要在我们的电脑上安装一个Xcode(此部分Windows电脑忽略)
Xcode是苹果公司的iOS和macOS的IDE,进行过iOS开发的童鞋应该都非常熟悉
如何安装Xcode呢? 常见的是两种

  • 直接在App Store上搜索Xcode,找到安装即可
    这种安装方式有一个缺点,安装的一定是最新版本的(当然是用最新版本的最好)
    但是最新版本的Xcode会对macOS系统有一定的要求,所以可能还要设计到系统升级
    如果不希望系统升级,可以选择第二种方式
  • 第二种方式是安装自己想要的Xcode的版本,需要手动去下载
    进入https://developer.apple.com/download/more[2]页面
    登录自己的Apple ID
    在搜索框输入Xcode,回车搜索,找到各种版本Xcode下载即可
    打开Xcode,右上角点击Xcode - Open Developer Tools - Simulator,这个时候会打开一个默认的iOS模拟器
    在这里插入图片描述
    方式二 打开Xcode,右上角点击Xcode - Settings
    在这里插入图片描述
    运行 Flutter doctor 来验证安装。
flutter doctor -v
2.4 配置Android环境

如果想为Flutter配置Android开发环境,需要在我们的电脑上安装一个Android Studio
Android Studio是基于IntelliJ IDEA的、Google 官方的 Android 应用集成开发环境 (IDE)。

  • Android Studio的下载
    下载地址:https://developer.android.google.cn/studio?hl=zh-cn
    下载完成直接双击安装即可
    在这里插入图片描述
    将Android Studio拖到应用程序,双击打开,会自动下载,选定android sdk目录
    由于自定义了Android-SDK的安装目录, 所以在运行flutter doctor命令之前,用flutter Config命令手动配置一下Android SDK的安装目录。
flutter config --android-sdk /Users/RobinLee/androidsdk

运行flutter doctor命令之前, 还需要安装cmdline-tools
在这里插入图片描述
执行一下同意Android协议命令,会出现很多协议问询对话,都输y。

flutter doctor --android-licenses

安装配置完Android Studio之后运行flutter doctor,重新检查平台依赖安装情况, 可以看到,一切都OK了。
在这里插入图片描述
点击Plugins开始安装Dart和Flutter插件:
在这里插入图片描述
重启之后, 你会发现出现一个New Flutter Project的菜单图标,现在flutter的开发环境已经配置好了,接下来我们创建自己的第一个flutter项目。
在这里插入图片描述
创建flutter项目
在这里插入图片描述
点击创建之后,项目就创建好了。想看flutter项目运行效果,还得安装手机模拟器。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
启动模拟器运行flutter项目
在这里插入图片描述

2.5 配置鸿蒙环境

能够开发构建 HarmonyOS 应用,需要 DevEco Studio 和模拟器。
下载中心 | 华为开发者联盟-HarmonyOS开发者官网
https://developer.huawei.com/consumer/cn/download/all
[鸿蒙版Flutter环境搭建指导]
鸿蒙版Flutter: https://gitee.com/openharmony-sig/flutter_flutter

下载针对OpenHarmony的Flutter版本 拖到 flutter_dev目录下
或者直接clone代码地址

git clone -b dev git@gitee.com:openharmony-sig/flutter_flutter.git

配置环境变量

 # 国内镜像
 export PUB_HOSTED_URL=https://pub.flutter-io.cn
 export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

 # 拉取下来的flutter_flutter/bin目录
 export PATH=/home/<user>/ohos/flutter_flutter/bin:$PATH

 # HamonyOS SDK
 export TOOL_HOME=/Applications/DevEco-Studio.app/Contents # mac环境
 export DEVECO_SDK_HOME=$TOOL_HOME/sdk # command-line-tools/sdk
 export PATH=$TOOL_HOME/tools/ohpm/bin:$PATH # command-line-tools/ohpm/bin
 export PATH=$TOOL_HOME/tools/hvigor/bin:$PATH # command-line-tools/hvigor/bin
 export PATH=$TOOL_HOME/tools/node/bin:$PATH # command-line-tools/tool/node/bin

 # windows环境
 TOOL_HOME = D:\devecostudio-windows\DevEco Studio
 DEVECO_SDK_HOME=%TOOL_HOME%\sdk
 PATH=%TOOL_HOME%\tools\ohpm\bin
 PATH=%TOOL_HOME%\tools\hvigor\bin
 PATH=%TOOL_HOME%\tools\node

这是我的mac上配置的环境变量
在这里插入图片描述
运行 flutter doctor -v 检查环境变量配置是否正确,Futter与OpenHarmony应都为ok标识
在这里插入图片描述

创建工程

 # 创建工程
 flutter create --platforms ohos <projectName>

编译hap包,编译产物在/ohos/entry/build/default/outputs/default/entry-default-signed.hap下。

 # 进入工程根目录编译
 # 示例:flutter build hap [--target-platform ohos-arm64] --release
 flutter build hap --release

安装应用,通过flutter devices指令发现真机设备之后,然后安装到鸿蒙手机中。
方式一:进入编译产物目录,然后安装到鸿蒙手机中

hdc -t <deviceId> install <hap file path>

方式二:进入项目目录,直接运行安装到鸿蒙手机中

flutter run --debug -d <deviceId>

构建app包命令:

 # 示例:flutter build app --release
 flutter build app --release

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

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

相关文章

COMSOL with Matlab

文章目录 基本介绍COMSOL with MatlabCOMSOL主Matlab辅Matlab为主Comsol为辅 操作步骤常用指令mphopenmphgeommghmeshmphmeshstatsmphnavigatormphplot常用指令mphsavemphlaunchModelUtil.clear 实例教学自动另存新档**把语法套用到边界条件**把语法套用到另存新档 函数及其微分…

AlipayHK支付宝HK接入-商户收款(PHP)

一打开支付宝国际版 二、点开商户服务 三、下载源码

设计模式之 abstract factory

适用场景 一个系统要独立于它的产品的创建、组合和表示时。一个系统要由多个产品系列中的一个来配置时。当你要强调一系列相关的产品对象的设计以便进行联合使用时。当你提供一个产品类库&#xff0c;而只想显示它们的接口而不是实现时 架构演示 首先client这个东西可以接触到…

华为IPD流程6大阶段370个流程活动详解_第一阶段:概念阶段 — 81个活动

华为IPD流程涵盖了产品从概念到上市的完整过程,各阶段活动明确且相互衔接。在概念启动阶段,产品经理和项目经理分析可行性,PAC评审后成立PDT。概念阶段则包括产品描述、市场定位、投资期望等内容的确定,同时组建PDT核心组并准备项目环境。团队培训涵盖团队建设、流程、业务…

每天40分玩转Django:Django部署

Django部署 一、今日学习内容概述 学习模块重要程度主要内容生产环境配置⭐⭐⭐⭐⭐settings配置、环境变量WSGI服务器⭐⭐⭐⭐⭐Gunicorn配置、性能优化Nginx配置⭐⭐⭐⭐反向代理、静态文件安全设置⭐⭐⭐⭐⭐SSL证书、安全选项 二、生产环境配置 2.1 项目结构调整 mypr…

主要是使用#includenlohmannjson.hpp时显示找不到文件,但是我文件已正确导入visual studio配置,也保证文件正确存在

问题&#xff1a; 主要是在项目配置中包括了C/C配置中文件位置&#xff0c;但是没有把nlohmann上一级的目录包括进去&#xff0c;导致#include"nlohmann/json.hpp"找不到文件位置 解决&#xff1a; 加上上一级目录到附加包含目录 596513661)] 总结&#xff1a; 找不…

tslib(触摸屏输入设备的轻量级库)的学习、编译及测试记录

目录 tslib的简介tslib的源码和make及make install后得到的文件下载tslib的主要功能tslib的工作原理tslib的核心组成部分tslib的框架和核心函数分析tslib的框架tslib的核心函数ts_setup()的分析(对如何获取设备名和数据处理流程的分析)函数ts_setup()自身的主要代码ts_setup()对…

Unity DOTS中的share component

Unity DOTS中的share component 内存管理创建流程修改流程销毁流程Reference share component是DOTS中一类比较特殊的component&#xff0c;顾名思义&#xff0c;它是全局共享的component&#xff0c;所有具有相同component值的entity&#xff0c;共享一个component&#xff0c…

EfficienetAD异常值检测之瓷砖表面缺陷检测(免费下载测试数据集和模型)

背景 当今制造业蓬勃发展&#xff0c;产品质量把控至关重要。从精密电子元件到大型工业板材&#xff0c;表面缺陷哪怕细微&#xff0c;都可能引发性能故障或外观瑕疵。人工目视检测耗时费力且易漏检&#xff0c;已无法适应高速生产线节奏。在此背景下&#xff0c;表面缺陷异常…

【从零开始入门unity游戏开发之——C#篇21】C#面向对象的封装——`this`扩展方法、运算符重载、内部类、`partial` 定义分部类

文章目录 一、this扩展方法1、扩展方法的基本语法2、使用扩展方法3、扩展方法的注意事项5、扩展方法的限制6、总结 二、运算符重载1、C# 运算符重载2、运算符重载的基本语法3. 示例&#xff1a;重载加法运算符 ()4、使用重载的运算符5、支持重载的运算符6、不能重载的运算符7、…

vscode 快速切换cangjie版本

前言 目前阶段cangjie经常更新&#xff0c;这就导致我们可能会需要经常在不同的版本之间切换。 在参加训练营时从张老师那学到了如何使用 vscode 的配置文件来快速进行cangjie版本的切换。 推荐一下张老师的兴趣组 SIGCANGJIE / 仓颉兴趣组 这里以 windows 下&#xff0c;配置…

RCE总结

文章目录 常见漏洞执行函数&#xff1a;1.系统命令执行函数2.代码执行函数 命令拼接符读取文件命令绕过&#xff1a;空格过滤绕过关键字绕过长度过滤绕过无参数命令执行绕过无字母数字绕过利用%0A截断利用回溯绕过利用create_function()代码注入无回显RCE1.反弹shell2.dnslog外…

springmvc的拦截器,全局异常处理和文件上传

拦截器: 拦截不符合规则的&#xff0c;放行符合规则的。 等价于过滤器。 拦截器只拦截controller层API接口。 如何定义拦截器。 定义一个类并实现拦截器接口 public class MyInterceptor implements HandlerInterceptor {public boolean preHandle(HttpServletRequest reque…

前端知识补充—HTML

1. HTML 1.1 什么是HTML HTML(Hyper Text Markup Language), 超⽂本标记语⾔ 超⽂本: ⽐⽂本要强⼤. 通过链接和交互式⽅式来组织和呈现信息的⽂本形式. 不仅仅有⽂本, 还可能包含图⽚, ⾳频, 或者⾃已经审阅过它的学者所加的评注、补充或脚注等等 标记语⾔: 由标签构成的语⾔…

vscode 使用说明

文章目录 1、文档2、技巧显示与搜索宏定义和包含头文件 3、插件4、智能编写5、VSCode 与 C&#xff08;1&#xff09;安装&#xff08;2&#xff09;调试&#xff08;a&#xff09;使用 CMake 进行跨平台编译与调试&#xff08;b&#xff09;launch.json&#xff08;c&#xff…

Python的3D可视化库【vedo】2-5 (plotter模块) 坐标转换、场景导出、添加控件

文章目录 4 Plotter类的方法4.7 屏幕和场景中的坐标点转换4.7.1 屏幕坐标转为世界坐标4.7.2 世界坐标转为屏幕坐标4.7.3 屏幕坐标取颜色 4.8 导出4.8.1 导出2D图片4.8.2 导出3D文件 4.9 添加控件4.9.1 添加内嵌子窗口4.9.2 添加选择区4.9.3 添加比例尺4.9.4 为对象添加弹出提示…

Gin-vue-admin(1):环境配置和安装

目录 环境配置如果443网络连接问题&#xff0c;需要添加代理服务器 后端运行前端运行 环境配置 git clone https://gitcode.com/gh_mirrors/gi/gin-vue-admin.git到server文件目录下 go mod tidygo mod tidy 是 Go 语言模块系统中的一个命令&#xff0c;用于维护 go.mod 文件…

【CSS in Depth 2 精译_088】第五部分:添加动效概述 + 第 15 章:CSS 过渡特效概述 + 15.1:状态间的由此及彼

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第五部分 添加动效 ✔️【第 15 章 过渡】 ✔️ 15.1 状态间的由此及彼 ✔️15.2 定时函数 文章目录 第 5 部分 添加动效 Adding motion第 15 章 过渡 Transitions15.1 状态间的由此及彼 From here…

【翻译】大型 Transformer 模型推理优化

翻译原文&#xff1a;Large Transformer Model Inference Optimization | LilLog 原文作者&#xff1a;Lilian Weng 目录 方法概述蒸馏 Distillation量化 Quantization Transformer 量化的挑战训练后量化 (PTQ) 混合精度量化 Mixed-precision quantization细粒度量化量化的二…

【Leecode】Leecode刷题之路第88天之合并两个有序数组

题目出处 88-合并两个有序数组-题目出处 题目描述 个人解法 思路&#xff1a; todo代码示例&#xff1a;&#xff08;Java&#xff09; todo复杂度分析 todo官方解法 88-合并两个有序数组-官方解法 方法1&#xff1a;直接合并后排序 思路&#xff1a; 代码示例&#xff1a…