AppImage是Linux程序的一种打包格式,让 Linux 应用随处运行。

准备工作

  1. 下载打包工具 AppImageKit:https://github.com/AppImage/AppImageKit/releases
  2. 准备 AppImage 的打包目录 App.AppDir
1
2
3
4
5
6
7
8
9
App.AppDir/
usr/
bin/
jre/
app.jar
<其他使用到的资源>
app.desktop (必须)
app.png (必须) <-- 256x256像素的png图片
AppRun (必须) <-- AppImage的启动文件

事例

编写 .AppRun 文件

AppRun是启动脚本,内容写启动jar包的命令,语法类似于shell脚本。

1
2
3
4
5
6
7
#!/bin/bash

HERE=$(cd "$(dirname "$0")"; pwd)
cd $HERE/usr/bin
./jre/bin/java -jar windowapp.jar "$@" &
disown
exit 0

cd "$(dirname "$0")" 是更改当前路径为 AppDir。

编写 .desktop 文件

在目录 App.AppDir 下创建 .desktop 文件。

1
2
3
4
5
6
7
8
[Desktop Entry]
Name=app
Exec=app
Icon=app
Type=Application
Categories=Development
Comment=应用
Terminal=false

usr 目录说明

这不是一个必须存在的目录,也可以叫其他的名字。我们只需要像构建绿色软件那样将所有依赖文件放到这个目录中,然后在 AppRun 中编写启动方式即可。

打包

打包命令

1
ARCH=x86_64 ./appimagetool-x86_64.AppImage -n App.AppDir App.AppImage