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物理备份与恢复实战,学完本课程可以掌握࿱…...

饿了么大数据开发凉经
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中,链表分为两部分:链表信息 链表节点。 链表节点用来表示链表…...

[自学记录06|*百人计划]Gamma矫正与线性工作流
一、前言 Gamma矫正其实也属于我前面落下的一块内容,打算把它补上,其它的没补是因为我之前写的GAMES101笔记里已经涵盖了,而Gamma矫正在101里面确实没提到,于是打算把它补上,这块内容并不难,但是想通透的理…...

【数据结构】二叉树链式结构的实现及其常见操作
目录 1.手搓二叉树 2.二叉树的遍历 2.1前序、中序以及后序遍历 2.2二叉树的层序遍历 3.二叉树的常见操作 3.1求二叉树节点数量 3.2求二叉树叶子节点数量 3.3求二叉树第k层节点个数 3.3求二叉树的深度 3.4二叉树查找值为x的节点 4.二叉树的销毁 1.手搓二叉树 在学习…...

从零实战SLAM-第九课(后端优化)
在七月算法报的班,老师讲的蛮好。好记性不如烂笔头,关键内容还是记录一下吧,课程入口,感兴趣的同学可以学习一下。 --------------------------------------------------------------------------------------------------------…...

Python Opencv实践 - 图像金字塔
import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR) print(img.shape)#图像上采样 #cv.pyrUp(src, dstNone, dstsizeNone, borderTypeNone) #参考资料:https://blo…...

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的固定帧率(C++)
Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的固定帧率(C) Baumer工业相机Baumer工业相机的固定帧率功能的技术背景CameraExplorer如何查看相机固定帧率功能在BGAPI SDK里通过函数设置相机固定帧率 Baumer工业相机通过BGAPI SDK设置相机固定帧…...

计算机竞赛 python+大数据校园卡数据分析
0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于yolov5的深度学习车牌识别系统实现 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:4分工作量:4分创新点:3分 该项目较为新颖&am…...

DNNGP模型解读-early stopping 和 batch normalization的使用
一、考虑的因素(仅代表个人观点) 1.首先我们看到他的这篇文章所考虑的不同方面从而做出的不同改进,首先考虑到了对于基因组预测的深度学习方法的设计 ,我们设计出来这个方法就是为了基因组预测而使用,这也是主要目的&…...

【目标检测】目标检测 相关学习笔记
目标检测算法 PASCALVOC2012数据集 挑战赛主要分为 图像分类 目标检测 目标分割 动作识别 数据集分为四个大类 交通(飞机 船 公交车 摩托车) 住房(杯子 椅子 餐桌 沙发) 动物(鸟 猫 奶牛 狗 马 羊) 其他&a…...

面试攻略,Java 基础面试 100 问(十六)
反射使用步骤(获取Class对象、调用对象方法) 获取想要操作的类的Class对象,他是反射的核心,通过Class对象我们可以任意调用类的方法。 调用 Class 类中的方法,既就是反射的使用阶段。 使用反射 API 来操作这些信息。 什么是 java 序列化&…...

章节5:脚本注入网页-XSS
章节5:脚本注入网页-XSS XSS :Cross Site Script 恶意攻击者利用web页面的漏洞,插入一些恶意代码,当用户访问页面的时候,代码就会执行,这个时候就达到了攻击的目的。 JavaScript、Java、VBScript、Activ…...