要想打包 AppImage 分3步走

  1. 生成 AppDir
  2. 拷贝资源及依赖文件
  3. 生成 AppImage

准备工作

下载打包工具 linuxdeploy appimagetool

下载/解压 好要打包的程序,这里用 Clash for Windows 做例子

样例目录
 ❯ tree
.
├── appimagetool-x86_64.AppImage
├── Clash.for.Windows-0.20.28-x64-linux.tar.gz
├── Clash_for_Windows-x86_64
│   ├── cfw
│   ├── cfw.png
│   ├── chrome_100_percent.pak
│   ├── chrome_200_percent.pak
│   ├── chrome_crashpad_handler
│   ├── chrome-sandbox
│   ├── icudtl.dat
│   ├── libEGL.so
│   ├── libffmpeg.so
│   ├── libGLESv2.so
│   ├── libvk_swiftshader.so
│   ├── libvulkan.so.1
│   ├── LICENSE.electron.txt
│   ├── LICENSES.chromium.html
│   ├── locales
│   │   ├── af.pak
│   │   ├── am.pak
│   │   ├── ar.pak
│   │   ├── bg.pak
│   │   ├── bn.pak
│   │   ├── ca.pak
│   │   ├── cs.pak
│   │   ├── da.pak
│   │   ├── de.pak
│   │   ├── el.pak
│   │   ├── en-GB.pak
│   │   ├── en-US.pak
│   │   ├── es-419.pak
│   │   ├── es.pak
│   │   ├── et.pak
│   │   ├── fa.pak
│   │   ├── fil.pak
│   │   ├── fi.pak
│   │   ├── fr.pak
│   │   ├── gu.pak
│   │   ├── he.pak
│   │   ├── hi.pak
│   │   ├── hr.pak
│   │   ├── hu.pak
│   │   ├── id.pak
│   │   ├── it.pak
│   │   ├── ja.pak
│   │   ├── kn.pak
│   │   ├── ko.pak
│   │   ├── lt.pak
│   │   ├── lv.pak
│   │   ├── ml.pak
│   │   ├── mr.pak
│   │   ├── ms.pak
│   │   ├── nb.pak
│   │   ├── nl.pak
│   │   ├── pl.pak
│   │   ├── pt-BR.pak
│   │   ├── pt-PT.pak
│   │   ├── ro.pak
│   │   ├── ru.pak
│   │   ├── sk.pak
│   │   ├── sl.pak
│   │   ├── sr.pak
│   │   ├── sv.pak
│   │   ├── sw.pak
│   │   ├── ta.pak
│   │   ├── te.pak
│   │   ├── th.pak
│   │   ├── tr.pak
│   │   ├── uk.pak
│   │   ├── ur.pak
│   │   ├── vi.pak
│   │   ├── zh-CN.pak
│   │   └── zh-TW.pak
│   ├── resources
│   │   ├── app.asar
│   │   └── static
│   │   └── files
│   │   ├── default
│   │   │   └── Country.mmdb
│   │   └── linux
│   │   └── x64
│   │   ├── clash-linux
│   │   ├── clash-linux.sign
│   │   └── service
│   │   └── clash-core-service
│   ├── resources.pak
│   ├── snapshot_blob.bin
│   ├── v8_context_snapshot.bin
│   └── vk_swiftshader_icd.json
├── linuxdeploy-x86_64.AppImage

生成AppDir

手动生成是比较麻烦的,所以有了 linuxdeploy 这个工具

生成时需要指定好 可执行文件路径 图标路径

 ./linuxdeploy-x86_64.AppImage --appdir=软件名字.AppDir -e "可执行文件路径" --create-desktop-file --icon-file=图标路径

例子:  ./linuxdeploy-x86_64.AppImage --appdir=Clash_for_Windows-x86_64.AppDir -e "Clash_for_Windows-x86_64/cfw" --create-desktop-file --icon-file=Clash_for_Windows-x86_64/cfw.png

拷贝资源及依赖文件

因为 linuxdeploy 是不会帮你拷贝拷贝资源及依赖文件的,只会帮你把可执行文件考进去(虽然有一个 -l 但是不方便 )

cp -r ./解压出来的软件目录/* ./软件名字.AppDir/usr/bin/

例子: cp -r ./Clash_for_Windows-x86_64/* ./Clash_for_Windows-x86_64.AppDir/usr/bin/

生成 AppImage

 ./appimagetool-x86_64.AppImage ./软件名字.AppDir

.tar.gz 软件压缩包打包 AppImage 指南的更多相关文章

  1. linux处理U盘中的资料-挂载-tar.gz软件安装-linux环境下软件的安装方式

    1. U盘插入linux一般会有以下反映 (1)/dev 的目录下,多出一个sdb的磁盘. 因为:目前系统中有两个硬盘, sda是原来的系统磁盘.sdb是插入的U盘. 其中:sdb1表示sdbU盘的一 ...

  2. dubbo框架的web端(war)和server端(tar.gz)结合jenkins打包方式

    一.web端程序,打包成war包 jenkins配置 1.项目名称,旧文件处理配置 2.参数构建配置 3.源码库配置 4.打包文件pom.xml配置及多环境打包传参,此处传参qa(表示打测试环境包,名 ...

  3. 通过maven-assembly-plugin将Springboot项目打包成tar.gz压缩包,在Linux环境可执行脚本直接安装成系统服务

    1.在pom.xml中添加maven-assembly-plugin依赖,同时需将默认生成的spring-boot-maven-plugin依赖删除,否则最终打出的发行包启动会有问题 <plug ...

  4. Linux下tar bz gz等压缩包的压缩和解压【转】

    Linux下用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩,本文是对压缩和解压命令的大致总结 .tar.gz  解压:tar zxvf FileName.tar.gz  ...

  5. Linux下tar bz gz等压缩包的压缩和解压

    Linux下用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩,本文是对压缩和解压命令的大致总结 .tar.gz  解压:tar zxvf FileName.tar.gz  ...

  6. Windows下将文件打包压缩成 .tar.gz格式

    1.下载 “7-ZIP”,安装完成后进入需要打包的文件夹 2. 右击选择“添加到压缩包” 3.压缩格式:tar 4. 得到.tar文件,将其打包 5. 压缩格式为:gzip 6. 得到tar.gz格式 ...

  7. 代码片段 - Golang 创建 .tar.gz 压缩包

    Golang创建 .tar.gz 压缩包 tar 包实现了文件的打包功能,可以将多个文件或目录存储到单一的 .tar 文件中,tar 本身不具有压缩功能,只能打包文件或目录: import " ...

  8. Spring Boot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip

    spring-boot-assembly 在spring boot项目中使用maven profiles和maven assembly插件根据不同环境打包成tar.gz或者zip 将spring bo ...

  9. ubuntu .deb .tar.gz .tar.bz2 .rmp 和命令方式安装软件的方法

    今天在Ubuntu11.10中安装Google chrome浏览器是遇到了问题,下载好的".deb"格式的安装文件google-chrome-stable.deb双击后或者右键快捷 ...

  10. Linux下打包tar.gz

    将heben-addressbookinit打包成heben-addressbookinit.tar.gz格式 方式1:czvf heben-addressbookinit.tar.gz heben- ...

随机推荐

  1. GPT-4.5 感觉有点拉胯,但其实是 OpenAI 迄今为止最大的一步赌注

    Alberto Romero I. GPT-4.5 就是起跳前的助跑那一步 OpenAI 推出了 GPT-4.5(官方博客.系统卡片.演示视频),这是他们最新也是目前最大的一款 AI 模型.他们其实一 ...

  2. excel 文件提示已受损 解决方案

    1.打开office excel 2.python 语言save 方法导致,将后缀改为.xls 3.用WPS打开

  3. Loongson Log

    就看看能坚持多久吧 22/2/2及以前: 参照想象中的p7内容增添部分版CP0.部分中断/异常机制: 改sram接口:查阅文档func_test.sram相关内容:查阅vivado bram IP核相 ...

  4. 一些Qt样式设计的小积累

    QRadioButton 的设计 QRadioButton分有两个部分,由按钮和背景文字组成. QRadioButton::indicator { ...; // 设置你想要的属性 } QRadioB ...

  5. Windows编程----内核对象竟然如此简单?

    什么是内核对象 内核对象本质上就是内存中的一块内存 ,这块内存由操作系统进行管理和分配,任何应用程序都无法直接操作这块内存区域.至于内核对象的作用,我们暂且不说,这里只需要直到它是内存中的一块内存. ...

  6. mac 如何开启指定端口供外部访问?

    前言 需要 mac 上开放指定端口,指定 ip 访问 解决 在 macOS 上开放一个端口,并指定只能特定的 IP 访问,可以使用 macOS 内置的 pfctl(Packet Filter)工具来实 ...

  7. python代码格式风格 PEP 8

    前言 Python Enhancement Proposal #8叫做PEP 8,它是针对 Python 代码格式而编订的风格指南. 编写 Python 代码时,总是应该遵循 PEP 8 风格指南. ...

  8. mac ssh 密钥登陆远程服务器

    第一步 创建ssh文件目录 打开终端 执行: mkdir ~/.ssh 第二步 将密钥对移到ssh目录下 mv ~/Downloads/MyKeyPair.pem ~/.ssh/MyKeyPair.p ...

  9. NumPy学习5

    今天学习了11, NumPy数组元素增删改查NumPy 数组元素的增删改查操作,主要有以下方法:数组元素操作方法函数名称 描述说明resize 返回指定形状的新数组.append 将元素值添加到数组的 ...

  10. halcon 入门教程(二)Blob分析(二值化,联通区域,分割区域,提取区域)保姆级教程

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/18781187 有兴趣可以多看其他的halcon教程 halcon 学习教程目录 OK,今天讲h ...