[如意玲珑生态指南] 应用构建教程(5) openKylin 2.0 + tar

在 openKylin 2.0 上构建玲珑应用

原文转载自:https://bbs.deepin.org/post/278738

作者:Ziggy


tar归档格式应用玲珑化转制

 在完成前面运行演示之后,我们即将开始展示tar归档格式应用玲珑化转制的效果,这里的完整解释是使用tar归档格式压缩、封装的Linux应用二进制文件。我们这里选取一款 Java based的应用 几何画板5,为了保障高度的规范化和为以后可能的自动化预留发展空间,我这边后面演示的项目均具备规范性特征,包括但不限于:目录规范性、构建流程规范性等。
 需要额外注意的是,目前玲珑自带运行环境Foundation或Runtime中暂不包含jre相关库,因此如果我们需要在玲珑容器里运行Java based应用,是需要在程序目录中内置jre运行环境的。除此之外,对于一般图形化应用而言,一套良好的体验应当还包括desktop文件以及图标文件,这样以保证普通用户可以通过启动器启动应用。

材料要求

 因此,本次案例中将会用到以下文件:

  1. 需要转换的Java based应用 几何画板5二进制文件对应的tar归档压缩包
  2. OpenJDK二进制文件对应的tar归档压缩包
  3. 需要转换的Java based应用图标文件
  4. 需要转换的Java based应用desktop文件

 可以看到,我们该案例中包含了两个tar归档压缩包,内容均为二进制程序文件。

准备工作

 由于玲珑构建工具内对于tar归档压缩包解压功能仍存在,因此我这里建议在项目build之前提前将压缩包解压到项目内并准备好其他的材料
 为了节省时间,我这里已经将上述文件准备完毕、压缩包也一并解压完成,给大家展示几个重要目录的结构

构建目录结构:

ziggy@kylin-standardpc:~/linglong-build$ tree -L 1
.
├── binary
├── linglong.yaml
├── template_app
2-1.png

图标、desktop文件资源目录结构(template_app):

template_app/
├── applications
│   └── geogebra.desktop
└── icons
    └── hicolor
        ├── 128x128
        │   ├── apps
                └── geogebra.png
2-2.png

 在整个过程中,我们需要重点关注两个需要改动的文件:

desktop文件。

 Exec字段必须匹配玲珑项目构建后的路径、应用id、执行命令一致,执行命令与下文提及的yaml配置文件中的”command”值保持一致。

案例yaml配置文件中的**”command”**值:

command:
  - /opt/apps/org.geogebra.geogebra5/files/bin/start.sh

 Icon字段考虑到目前在不同发行版上存在兼容性差异,因此这里建议直接填写绝对路径否则有可能不显示图标

可供参考的目录路径:

## desktop应用启动文件Exec
Exec=/opt/apps/$id/$version/files/bin/start.sh

## 应用Icon目录
Icon=/var/lib/linglong/layers/main/$id/$version/x86_64/binary/entries/share/icons/hicolor

需要注意的两个点:

  1. 一般情况下hicolor目录下存放了不同尺寸的图标文件,建议在选择合适的尺寸后在desktop应用启动文件的Icon字段中填入具体图标文件的路径
  2. 此处的**id∗∗代指玲珑应用的id,∗∗version**代指玲珑应用的已安装版本号,需要填写具体的实际值
[Desktop Entry]
Name=GeoGebra5
Name[zh_CN]=几何画板5
GenericName=Dynamic mathematics software
Comment=Create interactive mathematical constructions and applets.
Comment[zh_CN]=免费的课堂活动数字工具, 用于绘图计算, 几何作图, 白板协作等等
Exec=/opt/apps/org.geogebra.geogebra5/files/bin/start.sh %U
Icon=/var/lib/linglong/layers/main/org.geogebra.geogebra5/0.0.0.1/x86_64/binary/
     files/share/icons/hicolor/256x256/apps/geogebra.png
Type=Application
StartupWMClass=geogebra-GeoGebra
Categories=Education;Math;
MimeType=application/vnd.geogebra.file;application/vnd.geogebra.tool;

Terminal=false
StartupNotify=true
2-3.png

yaml配置文件。

 目前我共享给大家的是模块化改造之后的文件,大家主要修改以下变量内容以及具体写入start.sh的内容。
 由于规范化设计,jre runtime目录统一设定为$PREFIX/bin/jdk,因此我们主要修改进入程序安装文件的所在目录,即模板的倒数第二行。在确认内容全部修改、准备完成后,我们可以开始构建导出项目了。

  echo "cd $PREFIX/bin/geogebra5/bin/ && ./geogebra5-desktop" >> $PREFIX/bin/start.sh
2-4.png
需替换变量解释
LL_APPID玲珑应用id
LL_NAME玲珑应用名
LL_VERSION玲珑应用版本

 在构建完成后,我们在项目目录执行调试看看是否正常运行

ziggy@kylin-standardpc:~/linglong-build$ ll-builder run
2-5.png


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注