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中,链表分为两部分:链表信息 链表节点。 链表节点用来表示链表…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...