×
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 10:59.
960 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×