×
Namespaces

Variants
Actions

为Qt应用制作Maemo安装包

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

兼容于
平台:
Symbian

文章
bugatcuteqt 在 30 Jun 2010 创建
最后由 hamishwillee 在 13 Jun 2012 编辑

本文介绍在MADDE环境中如何将Qt应用打包成Maemo的安装文件格式.deb。MADDE(Maemo Application Develop & Debug Environment)是一个开发和调试Maemo应用程序的工作环境,如果你安装了Nokia Qt SDK,默认也会安装MADDE。

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

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

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


Contents

开启MADDE 环境

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

Madde terminal.png

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

Madde terminal 2.png

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

创建打包模板

在以上的打开的MADDE环境中执行以下命令(qthello是要生成的工程名,你可以选择你想要的名字,比如myapp)

mad pscreate -t qt_simple qthello

就为我们创建好了一个基本的Qt工程环境以及一些相关的打包文件和目录

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

根据需求进行定制

Qt工程文件定制

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

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

更改应用程序名

在将应用安装到手机上时,在应用程序列表里会有一个应用的名字。模板生成默认名字是 “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

更改应用图标

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

已装软件图标 该图标用在应用管理中,是用于显示已装的软件包图标。要修改该图标需要改动qthello/debian/control文件中XB-Maemo-Icon-26字段的内容
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文本每一行的前面都有一个空格。

Maemo icon 1.png

编译,打包

以上工作准备完毕就可以开始进行编译和制作安装包了,只需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

相关文档

本文用到的两个图片文件Bug 64x64.pngMsn 26x26.png

This page was last modified on 13 June 2012, at 13:59.
656 page views in the last 30 days.