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

flutter项目 环境搭建

开发flutter项目 搭建工具环境
flutter项目本身 所需开发工具环境
flutter 谷歌公司开发 系统支持库 镜像库

搭建流程:
flutter 官网:
https://flutter.dev/community/china

//步骤1 .bash_profile
touch .bash_profile
pwd
/Users/haijunyan
open ~
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

//步骤2 获取Flutter SDK
https://docs.flutter.dev/release/archive
mac OS Stable channel (macOS) 3106
flutter_macos_3.10.6-stable.zip
(支持)系统flutter底层文件夹(安装包)至目标目录
/Users/haijunyan/Documents
/Users/haijunyan/Documents/flutter
系统flutter底层文件夹(安装包)的访问路径配置至全局变量配置文件
export PATH=/Users/haijunyan/Documents/flutter/bin:$PATH

//FlutterSDK 支持开发环境检验
flutter doctor
交互式脚本(命令行交互区)
报错:zsh: command not found: flutter

Mac 默认采用 zsh交互式脚本(命令行交互区) 作为 登录Shell /交互式Shell

解决方案一:手动切换至bash交互式脚本(命令行交互区)
source ~/.bash_profile // source /Users/haijunyan/.bash_profile
flutter doctor

解决方案二:
pwd // /Users/haijunyan
cd /Users/haijunyan/
open ~/.zshrc
vim ~/.zshrc //新建文件(若提示文件不存在)
open ~/.bash_profile
把bash_profile中的内容copy到zshrc文件中(全局变量配置)
source ~/.zshrc //再资源载入source命令重新加载
终端退出重启 flutter doctor

AndroidStudio Google公司提供的兼容性辅助工具 可构建出android/ios/window/macos/linux等兼容各个方向的运行包
AndroidStudio (version 最新Mac)
右上角 更多
Apply > OK
flutter doctor --android-licenses //y
AndroidStudio 兼容性工具平台的配置
.bash_profile

Xcode 专业辅助构建出iOS运行包

依托于flutter项目 产生的app应用包

创建基(本)层的flutter项目
cd /Users/haijunyan/Desktop/CustomKit/TeamGroupSimulation/FlutterDemo/
source /Users/haijunyan/.bash_profile 或 source ~/.bash_profile
flutter create 项目文件夹名称

运行基层的flutter项目
切换至flutter项目对应的文件夹路径下
cd 相对路径 //cd fltapp

正式运行基层的flutter项目
flutter run //命令行运行(手动关联模拟器或手机设备)

brew -v //判断是否安装Homebrew环境
brew update //brew环境更新至最新版本

//安装辅助插件(flutter项目 iOS包 运行iOS真机)
xcode-select --install //Xcode 相关 工具命令行

//安装 ipa包(通过命令码实现(需要预配置好开源库插件环境)(不推荐))
brew cleanup
brew install --HEAD usbmuxd
Error: libusbmuxd 2.0.2 is already installed
brew unlink libusbmuxd
brew install --HEAD usbmuxd //brew update --auto-update
brew link usbmuxd
brew install --HEAD libimobiledevice
brew unlink imobiledevice
brew install --HEAD imobiledevice //强调分支下载
brew install libimobiledevice //不强调分支(基于tag下载)
brew link libimobiledevice
brew install ideviceinstaller ios-deploy cocoapods

pod setup

//安装 lipa包(通过辅助工具实现(itools/iTunes/Xcode等工具平台)(推荐))

brew doctor

切换至二方库flutter项目本身的路径目录文件夹下
cd /Users/haijunyan/Desktop/FlutterDemo/fltapp
pwd
/Users/haijunyan/Desktop/FlutterDemo/fltapp
open ios/Runner.xcworkspace //ios方向workspace运行研究(默认打开Xcode的workspace编辑模式)

AndroidStudio 兼容性工具平台(推荐(自动关联))
左 模拟器
右 真机

热重载r 更改的部分刷新 维持状态
热重启R 全部刷新 全部刷新重启

二方库flutter项目 通过模拟器运行自动热重载(实时更新(调试推荐))
二方库flutter项目 通过真机运行需要手动热重载(手动更新(调试不推荐))

备注:
flutter 业务层面 lib 业务 源码资源
二方库 flutter 项目(本身) pubspec 库本身配置文件

iOS 宿主层面 (iOS体系(iPhone iPod iWatch iPad ITV))
android宿主层面(Android体系(安卓手机 安卓手环(表) 安卓平板 安卓电视 安卓GoogleChrome浏览器 ))
macos宿主层面 Mac电脑端原生项目产生电脑.dmp产品包(mac电脑设备)
windows宿主层面 window电脑端原生项目产生电脑.exe产品包(window电脑设备)
linux宿主层面 linux电脑端原生项目产生电脑产品包(linux电脑设备)

二方库flutter本身源码+xxx(iOS/macos/Android/windows/linux)原生项目(包)

基于硬件的待渲染载体设备触发对应的xxx原生项目(包)

flutter运行流程之iOS方向 关键要素2次中转

Xcode工具平台 iOS方向产品包 对应iOS(真机/模拟器)设备 运行视觉流程效果
AndroidStudio工具平台 兼容型各方向的产品包 对应各种兼容性(真机/模拟器)设备 运行视觉流程效果

二方库flutter项目通过中转式运行后最终实际产生的目标程序为原生移动端iOS(Xcode工具平台)/Android(AndroidStudio工具平台)产品包

keg 文件夹
formulae 法则/手段
brew 基层管理环境(管理上层插件) //通过brew环境下载插件的过程非常缓慢(大概率断开失效,不断重新连接网络重新下载)

1.辅助工具实现安装 ipa(推荐)
2.命令码实现安装 ipa(不推荐)

libimobiledevice 本质是开源库 (—HEAD/—MASTER …强调各种分支branch)
pod --version
辅助工具AndroidStudio工具平台编辑模式:可开发Android原生项目产生安卓.apk产品包
二方库flutter项目本身层面自有文件的变更通过AndroidStudio工具平台

AndroidStudio工具平台:兼容型原生项目层文件的变更+flutter项目层自有文件的变更
Xcode工具平台:原生iOS项目层文件的变更

AndroidStudio工具平台:兼容各种原生项目(不同运行平台的项目框架(器))

原生项目包(通常比较干净)即项目框架(器)(承载体作用)内被注入的资源通常为业务需求资源(lib文件夹内的业务源码主文件资源(即lib文件夹内进行flutter源码开发))

haijunyan 15.7.3(版本高) iPhone7Plus

真机调试:
举例:iPhoneYHJ 12.5.7 iPhone5s
cd /Users/haijunyan/Desktop/FlutterDemo/fltapp
open ios/Runner.xcworkspace

备注:
iOS真机调试
AndroidStudio工具平台+Xcode工具平台
1.flutter项目首次:AndroidStudio工具平台设备运行>Xcode工具平台团队签名配置预安装>关闭退出Xcode工具平台>AndroidStudio工具平台设备运行安装真机调试
2.flutter项目非首次:AndroidStudio工具平台设备运行安装真机调试

android安卓真机调试
AndroidStudio工具平台
1.flutter项目:AndroidStudio工具平台设备运行安装真机调试

mac和iphone数据线连接断续闪烁
解决方案:
终端Terminal输入sudo killall -STOP -c usbd回车
进程关闭 sudo killall -STOP -c usbd

安卓开发者官网:
http://developer.android.com/studio //国境外(VPN)
https://developer.android.com/studio#downloads
https://developer.android.com/studio/run/emulator-acceleration.html
https://developer.android.com/studio/run/emulator-acceleration.html#vm-mac //mac使用的加速器插件(境外)
https://developer.android.google.cn/studio //国境内镜像下载站
https://developer.android.google.cn/studio/intro?hl=zh-cn //AndroidStudio官方说明文档

安卓模拟器 处于 AndroidStudio 自有的Dock栏区(window窗口)

source ~/.bash_profile
emulator -list-avds //列出AndroidStudio工具相关的android模拟器设备插件

emulator -avd Nexus_6P_API_29 //启动AndroidStudio工具相关的android模拟器
emulator -avd Pixel_2_API_29

安卓真机数据线连接(默认调试):
华为荣耀50NTHAN00手机设备(荣耀50开发者模式:设置>关于手机>版本号 多次连续点击>开发者模式)
设置>系统和更新>开发人员选项>USB调试 打开>终端source ~/.bash_profile > 终端flutter devices(验证flutter项目是否识别真机) >
1.AndroidStudio工具平台调试: 运行flutter项目
2.终端调试:
cd /Users/haijunyan/Desktop/FlutterDemo/fltapp
pwd
/Users/haijunyan/Desktop/FlutterDemo/fltapp
flutter run -d ‘设备名称’ //运行flutter项目

安卓真机无线连接调试WLAN(WIFI无线调试)(比较慢/受到Wi-Fi网络质量影响):

设置>系统和更新>开发人员选项>USB调试 打开>无线调试>使用二维码配对设备>已配对的设备>无线调试

二方库flutter项目引入其他三方开源包Package:
举例:english_words三方开源包
1.打开flutter项目目录下 pubspec.yaml 文件
2.dependencies新增english_words配置

english_words三方开源包

english_words: ^3.1.0
3.flutter pub get 开源包相关数据资源拖入项目中
4.english_words: ^4.0.0 三方开源包采用最新版本
5.flutter pub upgrade 重新更新 三方开源包
6.重新启动模拟器

flutter/dart相关辅助插件的安装:
AndroidStudio工具平台 右上角账号旁边设置图标 Plugins Plugins Flutter plugin 搜索辅助插件 install OK

侧边栏(目录)项目面板
二方库 插件项目 整体对外 插件感
sudo killall -STOP -c usbd
buzhidao

相关文章:

flutter项目 环境搭建

开发flutter项目 搭建工具环境 flutter项目本身 所需开发工具环境 flutter 谷歌公司开发 系统支持库 镜像库 搭建流程: flutter 官网: https://flutter.dev/community/china //步骤1 .bash_profile touch .bash_profile pwd /Users/haijunyan open ~ e…...

PG-DBA培训12:PostgreSQL物理备份与恢复实战

一、风哥PG-DBA培训12:PostgreSQL物理备份与恢复实战 课程目标: 本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL备份恢复与迁移升级阶段之PostgreSQL物理备份与恢复实战,学完本课程可以掌握&#xff1…...

饿了么大数据开发凉经

1 一个mapreduce进程会启动多少map进程多少reduce进程* 1)map数量由处理的数据分成的block数量决定default_num total_size / split_size; 2)reduce数量为job.setNumReduceTasks(x)中x 的大小。不设置的话默认为 1。 2 讲下shuffle的过程 shuffle分为…...

前端安全:XSS 与 CSRF 安全防御

在当今数字化的时代,前端安全性变得愈发重要。跨站脚本攻击(XSS)和跨站请求伪造(CSRF)是常见的前端安全威胁,但通过一些简单的防御策略,我们可以有效地保护我们的应用程序和用户信息。本文将为您…...

应用层读取wfp防火墙阻断记录

前言 之前的文档中,描写了如何对WFP防火墙进行操作[链接在此],这篇文档中,描述如何获取WFP防火墙进行阻断的操作记录。 需要注意的坑点 使用FWPM_NET_EVENT_TYPE获取防火墙日志时,需要注意,只有丢弃和内核丢弃&…...

web基础和tomcat的安装,部署jpress应用

目录 1. 简述静态网页和动态网页的区别。 2. 简述 Webl.0 和 Web2.0 的区别。 3. 安装tomcat8,配置服务启动脚本,部署jpress应用。 1. 简述静态网页和动态网页的区别。 【1】定义区别 请求响应信息,发给客户端进行处理,由浏览…...

idea git命令使用

这个标签标识单签分支:(标签图标) 标识关联分支:(五角星) 本地切换分支:如当前分支是dev ,git branch 显示的是dev ,然后通过 git checkout -b release 切换到release分支 git checkout re…...

软件测试技术之单元测试—工程师 Style 的测试方法

什么是单元测试? Wikipedia 对单元测试的定义: 在计算机编程中,单元测试(Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。 在实际…...

C#学习....

1.基础 //引用命名空间using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;//项目名或者命名空间 namespace _01_MY_First_Demo {//Program类class Program{//程序的主入口或者Main函数static void Main(S…...

C语言暑假刷题冲刺篇——day2

目录 一、选择题 二、编程题 🎈个人主页:库库的里昂 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:C语言每日一练 ✨其他专栏:代码小游戏C语言初阶🤝希望作者的文章能对你…...

springcloud3 hystrix实现服务降级的案例配置2

一 服务降级的说明 1.1 服务降级说明 "服务器忙,请稍后在试"不让客户达等待,立即返回一个友好的提示。 1.2 服务降级的触发情况 1.程序运行异常; 2.超时; 3.服务熔断触发服务降级;4 .线程池/信号量打…...

第 3 章 稀疏数组和队列(1)

3.1 稀疏 sparsearray 数组 3.1.1先看一个实际的需求 编写的五子棋程序中,有存盘退出和续上盘的功能。 分析问题: 因为该二维数组的很多值是默认值 0.因此记录了很多没有意义的数据.->稀疏数组 3.1.2基本介绍 当一个数组中大部分元素为 0,或者为同…...

7-10 奇偶分家

分数 10 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 给定N个正整数,请统计奇数和偶数各有多少个? 输入格式: 输入第一行给出一个正整N(≤1000);第2行给出N个非负整数,以空格分隔。 输…...

使用词向量以数学方式查找具有相似含义的单词

摄影:Nika Charakova 一、说明 简而言之,词向量只不过是表示自然语言词含义的一系列实数。这项技术是有用的NLP功能的重要推动力,使机器能够“理解”人类语言。本文讨论如何使用词向量以编程方式计算文本的语义相似性,例如&#x…...

opencv实现以图搜图

这里写目录标题 1. 步骤1.1 导入OpenCV库:1.2 加载图像1.3 提取特征1.4 匹配特征1.5 显示结果 2. 完整代码3. 测试图片及效果 1. 步骤 1.1 导入OpenCV库: 在您的C代码中,首先需要导入OpenCV库。您可以使用以下语句导入核心模块:…...

爬虫工作中代理失效了怎么处理?

Hey!亲爱的爬虫小伙伴们,是不是经常在爬虫的工作中遇到代理IP失效的问题?别着急,今天我来分享一些应对代理失效的妙招!这些方法简单易行,让你爬虫顺利进行. 一、为什么代理会失效? 在爬虫过程…...

使用虚拟环境conda安装不同版本的cuda,cudnn,pytorch

背景:在学习深度学习时,我们不可避免的需要跑多个神经网络,而不同的神经网络环境都不一样,所以必须要使用到虚拟环境(如conda)去做环境隔离,安装属于自己的环境。在这环境中,大多神经网络都必须要用到cuda&…...

【24择校指南】华东师范大学计算机考研考情分析

华东师范大学(B) 考研难度(☆☆☆☆) 内容:23考情概况(拟录取和复试分数人数统计)、院校概况、23考试科目、23复试详情、各科目及专业考情分析。 正文2563字,预计阅读:3分钟。 2023考情概况…...

什么是LAXCUS分布式操作系统?

相较Linux、Windows,Laxcus是同时在多台计算机上运行的操作系统,处理大规模、高并发、高性能业务,其特点是资源共享和任务并行,并实现【数存算管】超融合一体化。环境中的资源:CPU、GPU、内存、硬盘、网络,…...

Redis数据结构——链表list

链表是一种常用的数据结构,提供了顺序访问的方式,而且高效地增删操作。 Redis中广泛使用了链表,例如:列表的底层实现之一就是链表。 在Redis中,链表分为两部分:链表信息 链表节点。 链表节点用来表示链表…...

雯雯的后宫-造相Z-Image-瑜伽女孩部署教程:腾讯云TI-ONE平台模型服务一键部署

雯雯的后宫-造相Z-Image-瑜伽女孩部署教程:腾讯云TI-ONE平台模型服务一键部署 本文介绍如何在腾讯云TI-ONE平台上一键部署"雯雯的后宫-造相Z-Image-瑜伽女孩"文生图模型服务,使用Xinference框架和Gradio界面,快速生成高质量的瑜伽主…...

5分钟掌握SQLite在线查看器:浏览器中的数据库管理革命

5分钟掌握SQLite在线查看器:浏览器中的数据库管理革命 【免费下载链接】sqlite-viewer View SQLite file online 项目地址: https://gitcode.com/gh_mirrors/sq/sqlite-viewer 在数据驱动的时代,SQLite数据库无处不在——从移动应用到嵌入式设备&…...

别再用Delay了!用GD32的TIMER5实现精准1ms定时,让你的嵌入式程序更高效

告别阻塞式延时:用GD32 TIMER5构建高效嵌入式系统心跳 在嵌入式开发中,时间管理如同系统的心跳,决定了整个应用的响应速度和执行效率。许多开发者习惯使用delay_ms()这类阻塞式延时函数,却不知这会让CPU陷入无意义的等待状态&…...

GZDoom未来展望:10个开源游戏引擎的发展趋势和路线图

GZDoom未来展望:10个开源游戏引擎的发展趋势和路线图 【免费下载链接】gzdoom GZDoom is a feature centric port for all Doom engine games, based on ZDoom, adding an OpenGL renderer and powerful scripting capabilities 项目地址: https://gitcode.com/gh…...

FinalShell v4.5.12 安装避坑指南:为什么你的远程连接总是失败?

FinalShell 4.5.12 高效配置手册:从安装到稳定连接的进阶实践 远程终端工具的选择往往决定了运维效率的天花板。作为一款集SSH连接、文件传输、性能监控于一体的全能型工具,FinalShell近年来在开发者社区中积累了不错的口碑。但不少用户在初次接触时&…...

告别枯燥Loading!聊聊Android骨架屏的‘心理战术’与设计取舍

告别枯燥Loading!Android骨架屏的UX心理学与架构设计博弈 当用户盯着那个旋转的小圆圈超过3秒时,他们的耐心就像沙漏里的沙子一样快速流失。但有趣的是,如果换成骨架屏——那些跳动的灰色块——同样的3秒等待却变得可以接受。这不是魔法&…...

CLIP图文匹配测试工具:5分钟本地部署,零基础验证AI识图能力

CLIP图文匹配测试工具:5分钟本地部署,零基础验证AI识图能力 1. 工具简介与核心价值 你是否遇到过这样的场景:手头有一批产品图片,需要快速判断它们与哪些文字描述最匹配?或者想验证AI模型是否能准确理解图片内容&…...

C++ 自动微分引擎:基于模板元编程的静态反向传播梯度流构建

C 自动微分引擎:基于模板元编程的静态反向传播梯度流构建尊敬的各位专家、同行,大家好。今天,我们将深入探讨一个兼具理论深度与工程实践价值的主题:如何利用 C 的模板元编程(Template Metaprogramming)技术…...

电商评论分析利器:GTE文本向量实战情感分析与产品问题挖掘

电商评论分析利器:GTE文本向量实战情感分析与产品问题挖掘 1. 电商评论分析的痛点与解决方案 电商平台每天产生海量用户评论,这些评论蕴含着消费者真实的产品体验和市场反馈。传统的人工分析方法面临三大挑战: 处理效率低:人工…...

5分钟快速上手:UNTRUNC视频修复工具终极指南

5分钟快速上手:UNTRUNC视频修复工具终极指南 【免费下载链接】untrunc Restore a damaged (truncated) mp4, m4v, mov, 3gp video. Provided you have a similar not broken video. 项目地址: https://gitcode.com/gh_mirrors/unt/untrunc 你是否曾经因为相机…...