当前位置: 首页 > news >正文

制作跨平台AppImage包的方法

AppImage 是一种跨平台的软件打包格式,旨在简化 Linux 系统中软件的分发和运行。它允许开发者将应用程序及其所有依赖项打包为一个独立的可执行文件(.AppImage 后缀),用户无需安装或管理员权限即可直接运行。
关于如何制作AppImage的教程,网上已经有很多了,本文就不就此展开。本文专门说一下如何制作跨平台AppImage包。

众所周知,现在很多应用程序并不是在PC上运行的,因此制作各种平台上的AppImage的需求越来越多,而且越来越多的应用程序支持在多个平台上运行,这就更是增加了制作多平台AppImage的需求。
对于只在单平台上运行的应用来说,不论是IA32平台还是ARM平台,只要在开发平台上编译,制作安装包就好。而对多平台软件来说,在每个平台上编译和制作包很麻烦,不适合自动化开发流程。所以就需要实现跨平台交叉编译和跨平台制作安装包,以便于自动化生成。在开发Visual LVM的过程中我们就遇到了这个问题。在搜索了AppImage各种文档之后,找到了解决方案。

目前来说,AppImage支持x86/x86_64/armhf/arm64这4个平台。
要跨平台制作应用程序的AppImage包,首先需要下载AppImage制作工具appimagetool。
四个平台对应的AppImageTool的下载地址是
https://github.com/AppImage/appimagetool/releases
开发者需要下载开发平台对应的版本,最常用的是appimagetool-x86_64.AppImage。
然后需要下载各平台对应的运行库,下载地址是:
https://github.com/AppImage/type2-runtime/releases

以下就以在x86_64平台制作arm64平台的AppImage为例说明如何跨平台制作AppImage包。
在拷贝好应用需要的相关文件和启动脚本AppRun之后。
执行命令

export ARCH=aarch64;export PLATFORM=x86_64;appimagetool-$PLATFORM.AppImage --runtime-file=runtime-$ARCH appimage appname_$ARCH.AppImage


即可生成arm64平台的AppImage包,名字为appname_aarch64.AppImage
这里解释一下上述命令:
ARCH是appimagetool需要的参数,用于指定生成的目标平台,可选值是x86_64|i686|armhf|aarch64。
PLATFORM用于指定appimagetool运行的平台,可选值同样是上述4种。
要生成不同平台的包或者在不同平台上生成包,只需要修改ARCH和PLATFORM的内容就可以实现。
 

下面就可以在对应的目标平台上测试生成的AppImage包了。

http://www.xdnf.cn/news/563113.html

相关文章:

  • 基于STM32的智能台灯_自动亮度_久坐提醒仿真设计(Proteus仿真+程序设计+设计报告+讲解视频)
  • SQLMesh 宏操作符详解:@IF 的条件逻辑与高级应用
  • React---day1
  • asp.net web form nlog的安装
  • 9.PostgreSQL初体验
  • Flink SQL 计算实时指标同比的实现方法
  • vue3使用 Tailwind CSS (4.多版本)
  • UML 图的细分类别及其应用
  • virtualbox选项“启用套嵌vt-x/amd-v“不可用
  • 【论文阅读 | CVPR 2024 |RSDet:去除再选择:一种用于 RGB - 红外目标检测的由粗到精融合视角】
  • 论文篇-1.2.如何读好一篇论文
  • [实战]用户系统-1-基础功能完善
  • 笔记:NAT
  • 【笔记】排查并解决Error in LLM call after 3 attempts: (status code: 502)
  • 支持向量机(SVM):分类与回归的数学之美
  • 鸿蒙UI开发——Builder与LocalBuilder对比
  • 目标检测:YOLO 模型详解
  • 跨部门项目管理优化:告别邮件依赖
  • 提示词工程(Prompt Engineering)是智能Agent交互中不可或缺的一环
  • AI数字人一体机和智慧屏方案:开启智能交互新纪元
  • LeetCode 649. Dota2 参议院 java题解
  • 数独求解器3.0 增加latex格式读取
  • 攻防世界——Web题 fakebook
  • TypeScript 泛型讲解
  • Neo4j实现向量检索
  • 网速测试地址和工具
  • fluentd采集K8S日志
  • 鸿蒙进阶——驱动框架UHDF 机制核心源码解读(一)
  • 软考中级软件设计师——操作系统考试题型
  • 数据库blog4_数据库软件的设计方法与实际架构