flutter开发(一)flutter命令行工具

安装

Linux下面的flutter安装比较简单,在flutter 中文战 上下载一个最新稳定的版本,解压到系统上就行了。

我下载的是Linux下的3.32.7版。

解压之后,flutter目录里会有bin、dev等目录,把bin目录加到系统的PATH环境变量里,就能使用flutter命令了。

配置

根据文档,在大陆地区使用flutter,最好单独设置一下镜像。

我追加了这样几行,在$HOME/.bashrc 里:

export PATH=$HOME/flutter/bin:$PATH  
export FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"  
export PUB_HOSTED_URL="https://pub.flutter-io.cn"

创建项目

我们可以在一个目录里执行flutter create命令,初始化一个项目。

如:

> flutter create myapp

之后就可以进入myapp目录进行开发了。

flutter create命令还能修正初始化,即:当我们的项目中自动生成的文件,出现不一致的时候,可以在项目里执行flutter create .来增量初始化。

我改了项目名称之后,怎么编译都出错,就把android目录删掉,重新执行了flutter create .,就一切正常了。

编译

使用flutter编译的命令是build,后面要跟平台版本。

如,我们在Fedora 42上的项目目录里执行flutter build,将会返回:

Build an executable app or install bundle.Global options:
-h, --help                  Print this usage information.
-v, --verbose               Noisy logging, including all shell commands executed.If used with "--help", shows hidden options. If used with "flutter doctor", shows additional diagnosticinformation. (Use "-vv" to force verbose logging in those cases.)
-d, --device-id             Target device id or name (prefixes allowed).--version               Reports the version of this tool.--enable-analytics      Enable telemetry reporting each time a flutter or dart command runs.--disable-analytics     Disable telemetry reporting each time a flutter or dart command runs, until it is re-enabled.--suppress-analytics    Suppress analytics reporting for the current CLI invocation.Usage: flutter build <subcommand> [arguments]
-h, --help    Print this usage information.Available subcommands:aar         Build a repository containing an AAR and a POM file.apk         Build an Android APK file from your app.appbundle   Build an Android App Bundle file from your app.bundle      Build the Flutter assets directory from your app.linux       Build a Linux desktop application.web         Build a web application bundle.Run "flutter help" to see global options.

通过最后部分,我们知道可以编译的版本有:aar、apk、appbundle、bundle、linux与web。

如:flutter build apk将编译一个Android上面的apk包出来。

分析

如果要分析源代码是否有问题,可以使用:

> flutter analyze

运行

如果要运行程序,可以使用flutter run命令。

默认地,flutter将启动第一个可用的设备。

> flutter run

也可以加上-d ID设备id的方式,来启动程序到指定的设备上。

> flutter run -d linux

Android虚拟机

kvm模块

要使用Android虚拟机,需要加载kvm驱动模块。

而且,Intel与AMD的kvm模块不一样

在Intel 的CPU系统中,使用modprobe kvm-intel;在AMD的CPU系统中,使用modprobe kvm-amd

枚举Android设备

枚举系统上可以用的Android设备,使用flutter emulators

> flutter emulators
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!  
2 available emulators:  Id                            • Name                            • Manufacturer • Platform  Medium_Phone_API_35           • Medium Phone API 35             • Generic      • android  
Resizable_Experimental_API_34 • Resizable (Experimental) API 34 • Generic      • android  To run an emulator, run 'flutter emulators --launch <emulator id>'.  
To create a new emulator, run 'flutter emulators --create [--name xyz]'.  You can find more information on managing emulators at the links below:  https://developer.android.com/studio/run/managing-avds  https://developer.android.com/studio/command-line/avdmanager

启动Android设备

flutter emulators命令加上--launch ID命令,即启动了相应ID的设备。

如:

> flutter emulators --launch Medium_Phone_API_35
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!

查看运行的Android设备ID

启动Android设备之后,就可以使用flutter devices查看到了。

> flutter devices
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!  
Found 2 connected devices:  sdk gphone16k x86 64 (mobile) • emulator-5554 • android-x64 • Android 15 (API 35) (emulator)  Linux (desktop)               • linux         • linux-x64   • Fedora Linux 42 (Workstation Edition) 6.15.6-200.fc42.x86_64  Run "flutter emulators" to list and start any available device emulators.  If you expected another device to be detected, please run "flutter doctor" to diagnose potential issues. You may also try increasing  
the time to wait for connected devices with the "--device-timeout" flag. Visit https://flutter.dev/setup/ for troubleshooting tips.

在运行的Android虚拟机运行

通过上面的flutter devices命令,我们得到了两个可以使用的运行中的设备,一个是emulator-5554,一个是linux

其中,linux是主机,emulator-5554就是我们刚刚通过flutter emulators --launch ID启动起来的安卓虚拟机。

使用flutter run -d ID命令,就可以在这个虚拟机上运行应用。

> flutter run -d emulator-5554

依赖

flutter pub加上子命令,可以管理插件包。

其中,

  • flutter pub add 加入一个插件包
  • flutter pub get 下载插件包
  • flutter pub outdated 检查过时插件包
  • flutter pub upgrade 升级插件包

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV 入门实战:从环境配置到图像 / 视频处理

OpenCV 是计算机视觉领域最常用的开源库之一&#xff0c;它提供了丰富的图像和视频处理功能。本文将从环境配置开始&#xff0c;带大家一步步解析基础操作代码&#xff0c;快速入门 OpenCV 的使用。 一、环境配置 在开始之前&#xff0c;我们需要先搭建好 OpenCV 的运行环境。…

2.2.1 饰面板材和陶瓷的特性和应用

1、饰面石材1&#xff09;天然花岗岩2&#xff09;天然大理石3&#xff09;人造石&#xff08;1&#xff09;人造石按主要原材料分包括人造石实体面材、人造石英石和人造石岗石等产品。2、建筑卫生陶瓷建筑卫生陶瓷包括建筑陶瓷和卫生陶瓷两大类。建筑陶瓷包括陶瓷砖、建筑琉璃…

C++的结构体数组

结构体数组的基础知识 结构体数组通过​​组合数据批量管理​​的特性&#xff0c;广泛应用于学生管理、游戏角色属性存储等场景。常见问题 ​​数组越界​​&#xff1a;静态数组长度固定&#xff0c;超过数组长度的访问&#xff0c;会导致未定义行为。​​未初始化成员​​&a…

小程序中使用echarts(2025/8/8)

这篇博文讲的很详细&#xff0c;也很简洁&#xff0c;这里补充一点东西 小程序中使用echarts(硬货&#xff0c;全网最详细教程&#xff01;)_小程序使用echarts-CSDN博客 简单来说就是去官网下载ec-canvas组件&#xff0c;将其中的echarts.js换成echarts.min.js&#xff08;原…

【SpringBoot】SpringBoot配置

根据自动配置原理 学习后&#xff0c;整理学习笔记 一定要耐心去看&#xff0c;耐着性子去学习&#xff0c;慢慢慢慢就明白了 配置深化学习 前提 通过 SpringBootApplication 找到 EnableAutoConfiguration&#xff1b;发现 Import({AutoConfigurationImportSelector.class})…

网络安全与软件定义汽车的发展

在许多汽车公司&#xff0c;同一个系统工程团队同时负责安全&#xff08;safety&#xff09;和安防&#xff08;security&#xff09;。因此&#xff0c;网络安全被视为安全&#xff08;safety&#xff09;的一个子集&#xff0c;其根源在于一个隐含的假设&#xff1a;“如果安…

字典列表依据数值键排序

要根据字典列表中的特定数值键进行排序&#xff0c;我们可以使用 Python 的 sorted() 函数配合自定义排序键。以下是操作方法&#xff1a; 1. 按升序排序&#xff08;从小到大&#xff09; sorted_list sorted(original_list, keylambda x: x[数值键名])2. 按降序排序&#xf…

五、SpringBoot工程打包与运行

SpringBoot工程打包与运行 1、SpringBoot项目快速启动&#xff08;Windows版&#xff09; (1)对SpringBoot项目打包&#xff08;执行Maven构建指令package&#xff09;&#xff1a; mvn package (2)运行项目&#xff08;执行启动指令&#xff09; java -jar springboot.jar 2、…

构建高可用架构:ZDNS GSLB 在多数据中心场景下的应用与 F5 替换实践

随着互联网的快速发展&#xff0c;金融机构、大型企业等组织单位&#xff0c;出于自身业务发展的需要和国家监管的要求&#xff0c;纷纷通过建设多数据中心来提升不同地区的用户体验&#xff0c;同时避免不可抗力因素带来的巨大损失。ZDNS GSLB 全局负载均衡技术&#xff0c;能…

【JMeter】压测脚本生成完善增强

JMeter 压测脚本生成完善增强0. 通过JMeter代理服务器录制脚本1. 设置客户端的代理2. JMeter GUI配置 以及录制脚本3. 调试脚本附录0. 通过JMeter代理服务器录制脚本 1. 设置客户端的代理 JMeter代理服务器默认端口号就是8888 2. JMeter GUI配置 以及录制脚本 新建线程组 …

Agent 开发进阶路线:从基础功能到自主决策

Agent 开发进阶路线&#xff1a;从基础功能到自主决策基础功能构建定义 Agent 的核心功能&#xff0c;如信息收集、简单任务执行和环境交互。 实现基本的感知-决策-执行循环&#xff0c;确保 Agent 能响应外部输入并完成预设任务。 集成 API 调用或传感器交互&#xff0c;扩展 …

使用 ECharts GL 实现 3D 中国地图点位飞线效果

前言在现代数据可视化领域&#xff0c;3D 地图飞线效果是一种非常吸引人的展示方式&#xff0c;特别适合展示地理空间关系和数据流动。本文将详细解析如何使用 ECharts GL 在 Vue 项目中实现一个 3D 中国地图飞线效果。技术栈Vue.js 2.x/3.xECharts 5.xECharts GL 2.x核心实现步…

Redis对象编码

前言 Redis中提供多种数据结构&#xff1a;string、list、map、set、zset等&#xff0c;关于上述多种数据类型的底层实现原理&#xff0c;Redis针对不同的数据类型对应的不同使用场景从时间和空间上进行平衡选择不同的对象编码方式。本文大致介绍一些Redis对象编码方式以及在上…

12-Django项目实战-登录短信验证

1.路由配置 2.对接第三方短信接口 详细内容请点击 3.视图函数 def sms_view(request):"""短信验证视图逻辑1.获取请求体的数据[phone]2.调用封装的短信发送接口&#xff0c;实现发送短信"""data json.loads(request.body)phone data.get(&q…

Java技术栈/面试题合集(11)-设计模式篇

场景 Java入门、进阶、强化、扩展、知识体系完善等知识点学习、性能优化、源码分析专栏分享: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/140870227 通过对面试题进行系统的复习可以对Java体系的知识点进行查漏补缺。 注: 博客: 霸道流氓气质-CSDN博…

Linux系统:Ext系列文件系统(软件篇)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录[TOC](文章目录)一&#xff0c;ext2文件系统1-1 宏观认识1-2 Block Group1-3 块组内部构成1-3-1 超级块(Super Block)1-3-2 块组描述符表GDT(Group Descriptor Table…

14. isaacsim4.2教程-April Tags/给相机加噪声

1. 前言April Tags 是一种视觉标签&#xff08;类似 QR 码&#xff09;&#xff0c;用于通过相机进行定位和识别。它们通常用于计算机视觉任务中&#xff0c;帮助机器人识别和定位自己在物理空间中的位置&#xff0c;或者识别和追踪特定对象。前提条件启用 ROS 桥接&#xff1a…

Kafka + 时间轮 + 数据库实现延迟队列方案

Kafka 原生不支持延迟队列功能。而RabbitMQ、RocketMQ及Redis等其他消息队列原生支持延迟队列。 RabbitMQ RocketMQ Redis 实现方式 通过插件实现&#xff0c;消息进入延迟队列后根据配置时间过滤转发。 原生支持&#xff0c;发送消息时设置延迟级别&#xff0c;定时任务处…

力扣 hot100 Day69

287. 寻找重复数 给定一个包含 n 1 个整数的数组 nums &#xff0c;其数字都在 [1, n] 范围内&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 &#xff0c;返回 这个重复的数 。 你设计的解决方案必须 不修改…

Android 的CameraX的使用(配置,预览,拍照,图像分析,录视频)

Android Studio 版本号:2024.1.2 CameraX是Jetpack系列中的一个库,它基于Camera2 API构建,但提供了更高层次的抽象。 CameraX 三大核心用例: Preview预览 ,ImageCapture拍照和 VideoCapture录视频 一、创建项目,进行环境配置 CameraX 需要一些属于 Java 8 的方法,因此…