当前位置: 首页 > 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中,链表分为两部分:链表信息 链表节点。 链表节点用来表示链表…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理&#xff1a…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

无法与IP建立连接,未能下载VSCode服务器

如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

Kafka入门-生产者

生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...