我觉得应该多出一些开发linux应用的教程或者帖子,这样才能降低门槛,让生态强大起来。大家也都贡献自己的力量,但是绝不是重复造轮子,这篇帖子只是降低打包门槛,但是不能降低开发门槛,希望能帮助到想做linux应用的人。
官方制作手册https://www.debian.org/doc/manuals/maint-guide/index.zh-cn.html
本文不深究java代码,只关注怎么将一个普通的java程序打包成可安装的deb包,然后在deepin、UOS、Ubuntu等环境下安装
准备
- 随便从网上找了一个java小游戏,俄罗斯方块的,先在本地run一下,地址:https://gitee.com/zzk4513/JavaGame
-
拿到编译所有后的class文件,然后放到 tetries_code目录下
整理目录和文件
目录结构
├── DEBIAN
│ └── control
└── usr
├── bin
│ └── tetris2
│ └── tetries_code
└── share
├── applications
│ └── tetris2.desktop
└── icons
└── tetris2.png
debian/control文件中信息说明
Source: tetris
Section:
Priority: extra
Maintainer: <wiltonjia@163.com>
Build-Depends:
Package: tetris2
Architecture: amd64
Description: auto-generated package by debmake
Version: 1.0.0
desktop文件内容
[Desktop Entry]
Categories=Game
Encoding=UTF-8
Exec=/usr/bin/tetris2
Icon=/usr/share/icons/tetris2.png
Name=Tetris2
Name[zh_CN]=俄罗斯方块2
StartupNotify=false
Terminal=false
Type=Application
X-MultipleArgs=false
制作启动脚本
wilton-PC:~/Desktop/tetris2/usr/bin$ cat ./tetris2
# 因为我本地有java环境,此处不集成jre了,但是正常情况下deepin和其他几款linux好像是有openjdk的
cd /usr/bin/teries_code/
java com.zzk.teris.client.TerisClient
打包
# 切换到外层目录
$ cd desktop
$ dpkg -b tetris2 tetris2_1.0.0_amd64.deb
打包后文件
安装
$ sudo dpkg -i tetris2_1.0.0_amd64.deb
安装成功,单击菜单里的图标
不好意思刚才玩了一会儿,忘记写帖子了,就到这吧
另外,打包python的教程:https://maxyjian.github.io/2018/08/27/python_deb.html
2020/12/22更新: 在星火应用商店中发现更人性化的打包方式,叫debreate打包工具,可以打出标准的包来,具体参考:
https://bbs.deepin.org/post/195472#mod=viewthread&tid=195472