为Qt应用制作Maemo安装包

From Qt Wiki
Jump to navigation Jump to search

Template:ArticleMetaData Template:Abstract

本文以下截图采用 “Load Applet” 应用来截取。该应用可以在“应用管理器”(Application Manager)中安装。

打包流程主要按照以下步骤来完成:

创建打包模板 ==> 根据需求进行定制 ==> 编译,打包


开启MADDE 环境[edit | edit source]

如果你使用的是Windows系统,可以通过 Start 菜单-> Programs -> Nokia Qt SDK -> MADDE Terminal 进入 MAEED环境

File:Madde terminal.png

终端开发环境如下显示,类似于普通的Linux终端

File:Madde terminal 2.png

注意:此时的工作目录jizhu,对应的应该是Windows里的目录C:\NokiaQtSDK\Maemo\home\jizhu。这里的“jizhu”是Windows的登录名字。在每个人的PC上,这个名字可能会有不同。

创建打包模板[edit | edit source]

在以上的打开的MADDE环境中执行以下命令(qthello是要生成的工程名,你可以选择你想要的名字,比如myapp) mad pscreate -t qt_simple qthello 就为我们创建好了一个基本的Qt工程环境以及一些相关的打包文件和目录

File:Madde package 3.png

-t 是指模板的选项,qt_simple指明利用pscreate创建一个Qt应用的模板,其它可用选项可以用 mad pscreate -l 命令看到,输出结果为 TEMPLATE NAME TYPE DESCRIPTION empty prog Empty project lib_simple lib Simple example for C/C++ libraries qt_lib_simple qtlib Simple example for Qt libraries qt_simple qtprog Simple example for Qt programs simple prog Simple example for C/C++ programs

根据需求进行定制[edit | edit source]

Qt工程文件定制[edit | edit source]

利用模板生成的Qt应用只会在屏幕上出现一个显示“Hello World!"的按钮,需要更多的功能则需要在.pro文件中添加一些相应的Qt相关文件,可以修改模板自动生成的qtprog.pro文件。

TARGET = qthello HEADERS += SOURCES += qtmain.cpp FORMS += LEXSOURCES += #LEXS# YACCSOURCES += #YACCS#

INCLUDEPATH += LIBS += DEFINES +=

更改应用程序名[edit | edit source]

在将应用安装到手机上时,在应用程序列表里会有一个应用的名字。模板生成默认名字是 “Mad Qt example
可以通过修改 qthello/data/qthello.desktop 文件中的 Name 变量进行修改
[Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Name=Mad Qt example Exec=/usr/bin/qthello Icon=qthello

更改应用图标[edit | edit source]

应用列表图标 该图标是指在主应用列表中通过点击能够启动应用的大图标。为更改现在在应用程序列表里的图标,你需要准备一个64x64大小的png格式的图片,然后拷贝覆盖到模板生成的那个图标文件。
因为当前的例子工程是qthello,那么要覆盖的图标为 qthello/data/64x64/qthello.png
File:Maemo icon 2.png

已装软件图标 该图标用在应用管理中,是用于显示已装的软件包图标。要修改该图标需要改动qthello/debian/control文件中XB-Maemo-Icon-26字段的内容
File:XB-Maemo-Icon.png
可以看到该图是以文本形式存在的,是图片的base64编码。要将png转成转成文本使用如下命令 mad base64 finename.png >filename_base64.txt 然后打开filename_base64.txt文件,将其中的文本拷贝到前面的XB-Maemo-Icon-26字段中。开发者可以使用 Uedit32 工具通过选择“”方式来插入空格。

注意:

  • 该处图片大小应为26x26的
  • 拷贝到XB-Maemo-Icon-26处时,base64文本每一行的前面都有一个空格。

File:Maemo icon 1.png

编译,打包[edit | edit source]

以上工作准备完毕就可以开始进行编译和制作安装包了,只需3个步骤

  • 生成Makefile:

cd qthello mad qmake

  • 编译工程

mad make

  • 创建.deb安装包

mad dpkg-buildpackage
以上步骤都成功的话,将会在 qthello 上一级目录下,会生成一个名叫 qthllo_0.1_armel.deb 的安装文件。

通过“蓝牙”/“WLAN”/“USB”等方法将 qthllo_0.1_armel.deb 拷贝到N900手机上(通过PC suite/Ovi Suite,选择 大容量存储),然后通过N900的文件管理找到该文件,点击就可以安装qthello了。

通过如下的命令,即可知道应用所安装的目录:


对没有安装的应用:

  dpkg -c package_name.deb

对于已经安装的应用:

  dpkg -L package_name

相关文档[edit | edit source]

本文用到的两个图片文件File:Bug 64x64.pngFile:Msn 26x26.png