Flutter Linux desktop桌面版Build App流程

news2024/9/25 17:14:25

Flutter Linux desktop桌面版Build App流程
Flutter 是 Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart语言开发 App,一套代码同时运行在 iOS 和 Android平台。 Flutter提供了丰富的组件、接口,开发者可以很快地为 Flutter添加 native扩展。同时 Flutter还使用 Native引擎渲染视图,这无疑能为用户提供良好的体验。也是Google新系统Fuchsia OS的开发的主要方式。

Flutter 3 宣布完成了从以移动端为中心到多平台框架的路线图,提供了对 macOS 和 Linux 桌面应用的支持,改进了对 Firebase 的集成,更增加了新的生产力功能和性能改进特性,此外还提供了对 Apple Silicon 的支持。

由于最近正好有ubuntu系统,于是就将做的应用编译成linux的包。下面记录一下编译成Linux desktop桌面版App过程。

一、安装Flutter

1.1、这一部分可参考官网。

https://flutter.cn/docs/get-started/install/linux

这里下载flutter_linux的sdk,这里使用的是3.7.12版本,可以按照自己的下载对应的sdk
下载地址:https://flutter.cn/docs/release/archive?tab=linux
在这里插入图片描述
下载的文件目录

在这里插入图片描述

1.2、解压下载的sdk

将文件解压到桌面

cd ~/桌面/flutter
tar xf ~/Downloads/flutter_linux_3.7.12-stable.tar.xz

1.3、将 flutter 工具添加到环境变量中:

 export PATH="$PATH:`pwd`/flutter/bin"

该命令添加 PATH 仅在当前的命令行视窗生效。

https://flutter.cn/docs/get-started/install/linux#update-your-path

二、安装依赖

flutter开发 linux app需要安装如下依赖

sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev
sudo apt install liblzma-dev

如果未开启桌面应用,使用命令开启

flutter config --enable-linux-desktop

三、工程配置

由于之前的通过android studio创建的工程未创建Linux平台,需要使用命令创建Linux platform

3.1、创建Linux platform

flutter create --platforms=windows,macos,linux .

创建后的目录如下
在这里插入图片描述

3.2、Build App

通过git下载到工程最新代码,切换到指定的目录后进行编译

Build app命令

flutter build linux lib/main_dev.dart --release --no-sound-null-safety

编译过程中需要等待一段时间

3.3、Build App

编译后的结果在 项目下的 build/linux/x64/release/bundle/ 路径下找到可执行文件。
在这里插入图片描述

bundle文件夹下lib,data,flutter_app

  • lib包含必需的.so文件:libapp.so、libflutter_linux-gtk.so
    在这里插入图片描述

  • data包含所需的资源:字体和图片

在这里插入图片描述

  • 可执行文件flutter_app

双击可以直接运行flutter_app了。

学习记录,每天不停进步。

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

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

相关文章

maven-mvnd 的使用

maven-mvnd是Apache Maven团队借鉴了Gradle和Takari的优点,衍生出来的更快的构建工具,是maven的强化版。 github地址:https://github.com/apache/maven-mvnd maven-mvnd 特性: 嵌入 Maven (所以不需要单独安装 Maven)&#xff…

【kubernetes系列】kubernetes之initcontainer初始化容器

概述 Init Container就是用来做初始化工作的容器,可以是一个或者多个,如果有多个的话,这些容器会按定义的顺序依次执行,只有所有的Init Container执行完后,主容器才会被启动。我们知道一个Pod里面的所有容器是共享数据…

日本PSE认证341种B类产品为非特定电器和材料类清单

以上清单为官方网站直译,可能存在差异,具体以官方为准。

为什么普通人升级电脑的意愿消逝了

简洁版答案:需求消逝了。 市场调研机构Canalys数据显示,今年一季度,中国市场整体PC出货量同比下降24%至890万台,已是连续第五个季度下跌。今年截至618结束,都没有一家主要的PC厂商愿意发战报。PC市场怎样走出寒冬&…

微服务系列文章之 seata 事务模式

XA模式 XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准。 XA 规范 描述了全局的TM与局部的RM之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。 两阶段提交 XA是规范&…

若依新建模块后,swagger扫描不到新模块中的controller接口

框架默认情况下,只能扫描ruoyi-admin模块下的controller接口。如果需要扫描其它子模块中的swagger注解,那么需要调整一下swagger相关内容。 目录 1、前置条件 2、解决办法 1、前置条件 首先,我们要知道,默认情况下swagger依赖包是放置在项目根pom.xml文件中的。 swagge…

Redis三大集群模式

Redis 支持三种集群方案 主从复制模式Sentinel(哨兵)模式Cluster 模式 为什么要使用集群模式 [1]解决单机故障问题 [2]解决单机压力问题 Redis 集群的三种模式🍉 一.主从复制模式🍉 主从复制原理🥝 从服务器连接…

【软件测试】高级测试进阶 Centos7安装 Docker容器(详细步骤)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 OS 安装环境要求 …

移动应用加固:政务APP如何保障安全?

政务APP是政府部门为了方便公民办理政务事务而开发的移动应用程序。由于政务APP涉及到大量的敏感信息和政府机密,因此面临着多种安全风险的挑战。《国务院办公厅关于印发全国一体化政务服务平台移动端建设指南的通知》(以下简称“通知”)要求…

JAVA开发运维(linux环境防火墙与端口开启使用总结记录)

一、问题背景: 将web项目开发完成,需要上到生产环境。那么我们应用调用的一些ip,端口都是要设置的,比如说应用提供给谁访问,那些人不能访问,应用的端口是多少,也是需要开启才能访问的。在实际研…

用BBI指标如何分析平台现货白银走势?

分析平台现货白银走势,主要有几种理论,包括指标类,价格形态类,切线类和K线理论类等几种方法。其实,技术指标依赖投资者开发的算法,被认为是相对更先进的技术,所以也深受很多投资者喜爱。今日&am…

SQL Server创建定时维护计划(备份数据库)

一.备份前将日志收缩至1MB 1.连接数据库——管理——维护计划——新建维护计划 在左下角找到执行T-SQL语句任务将其拖拽到右侧,点击编辑将数据库改为简单模式的SQL语句添加到里面,添加完成后设置执行计划任务 设置执行时间计划任务 2.将数据库log日志收缩…

zynq emio 外接emmc/SD 相关问题与描述总结

在使用emio的情况要注意,由于通过PL的扩展,导致一些问题,如时钟时序,数据、cmd的方向控制都需要注意。 A、emio的clk和clk_fb要短接(原因是要通过反馈修复clk输出时序),可通过内部直接短接&…

GC回收器演进之路

目录 未来演进方向 历经之路 引用计数法 标记清除法 复制法 标记整理 分代式 三色标记法的诞生 三色标记法的基本概念 产生的问题 问题 1:浮动垃圾 问题 2:对象消失 遍历对象图不需要 STW 的解决方案 屏障机制 插入屏障(Dijks…

springboot web

Springboot入门介绍 一、Spring框架概述 1.1 什么是Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》。Spring是为了解决企业级应用开发的复…

【生活分享】《哈姆雷特》· 苏州站 - 有趣的观后感

平时博客里大部分都是写技术相关的文章,感觉内容还是比较单一的,也想分享一下最近的一些有趣的生活~ 6月30号的时候,便订好了7月2号徐俊导演编排的《哈姆雷特》音乐剧。而实际上,苏州场 7月1号就上映了,但感觉那天太晚…

python函数调用时的关键字参数

python 函数调用使用关键字参数来确定传入的参数值; 使用关键字参数允许函数调用时参数的顺序与声明时不一致, Python 解释器能够用参数名匹配参数值; 在命令行定义一个函数printstu; 如下都可以正确调用; printstu(…

❤ 15个基于Vue3.0全家桶的优秀开源项目

❤ 15个基于Vue3.0全家桶的优秀开源项目 Vue Admin Better github : https://github.com/chuzhixin/vue-admin-better vue admin better 对比其他来源 admin 框架有如下优势: 支持前端控制路由权限 intelligence、后端控制路由权限 all 模式 已知来源 vue admin 框架中首家支…

【Spring Cloud Alibaba】OpenFeign的使用

Feign is a Java to HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. Feign’s first goal was reducing the complexity of binding Denominator uniformly to HTTP APIs regardless of ReSTfulness. Feign是一个Java到HTTP的客户端绑定器,灵…

点云模型概述

点云与三维图像 三维图像是一种特殊的信息表达形式,其特征是表达的空间中三个维度的数据。和二维图像相比, 三维图像借助第三个维度的信息,可以实现天然的物体和背景解耦。 对于视觉测量来说,物体的二维信息往往随射影方式而变化…