我覺得應(yīng)該多出一些開發(fā)linux應(yīng)用的教程或者帖子,這樣才能降低門檻,讓生態(tài)強大起來。大家也都貢獻自己的力量,但是絕不是重復(fù)造輪子,這篇帖子只是降低打包門檻,但是不能降低開發(fā)門檻,希望能幫助到想做linux應(yīng)用的人。
官方制作手冊https://www.debian.org/doc/manuals/maint-guide/index.zh-cn.html
本文不深究java代碼,只關(guān)注怎么將一個普通的java程序打包成可安裝的deb包,然后在deepin、UOS、Ubuntu等環(huán)境下安裝
準(zhǔn)備
- 隨便從網(wǎng)上找了一個java小游戲,俄羅斯方塊的,先在本地run一下,地址:https://gitee.com/zzk4513/JavaGame
image.png -
拿到編譯所有后的class文件,然后放到 tetries_code目錄下
image.png
整理目錄和文件
目錄結(jié)構(gòu)
├── 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文件內(nèi)容
[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環(huán)境,此處不集成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
打包后文件

image.png
安裝
$ sudo dpkg -i tetris2_1.0.0_amd64.deb
安裝成功,單擊菜單里的圖標(biāo)

image.png
不好意思剛才玩了一會兒,忘記寫帖子了,就到這吧
另外,打包python的教程:https://maxyjian.github.io/2018/08/27/python_deb.html
2020/12/22更新: 在星火應(yīng)用商店中發(fā)現(xiàn)更人性化的打包方式,叫debreate打包工具,可以打出標(biāo)準(zhǔn)的包來,具體參考:
https://bbs.deepin.org/post/195472#mod=viewthread&tid=195472

