Qt for Symbian智能安装工具

移动开发
在诺基亚Symbian^3平台以后的手机中,Qt库都将被预置于手机中,但是为了使得签名后的Qt应用程序都使用于所有的手机,建议Qt应用都包含Smart installer。

 概述

Nokia Qt 智能安装工具(Nokia Smart Installer)的使用使得在Symbian^3平台以前的手机运行Qt应用变得可能,并确保为Symbian手机平台开发的Qt应用能够工作在最新的Qt环境中。基本工作原理是在开发Qt应用的时候将Smart Installer和Qt应用一起打包成.sis安装文件,当封装了Smart Installer的.sis文件被安装到手机上时,系统会自动检测手机里是否安装了Qt及当前的Qt版本是否满足当前Qt应用的工作需要,如果当前的环境不能满足Qt应用需要,则会从Nokia的服务器上自动下载更新的Qt环境,保证Qt应用能够安装和执行。在Nokia Symbian^3平台以后的手机中,Qt库都将被预置于手机中,但是为了使得签名后的Qt应用程序都使用于所有的手机,建议Qt应用都包含Smart installer。Qt for Symbian智能安装工具

下载

开发者可以同更新自己安装过的Nokia Qt SDK 来获取最新的smartinstaller.sis文件。安装后的文件路径为C:\Nokia QtSDK\Symbian\SDK。目前的大为32K。它是一个非常小的文件,从而不会给开发者最终的sis文件大小产生很大的影响。带有Smart Installer的测试应用可以下载。用户可以在官方Smart installer网址查看更多信息。

将下载后解压出来的smartinstaller.sis文件拷贝到Symbian SDK目录下,和epoc32在同一级目录。

相关Smart Installer 的更多可以在Nokia Smart Installer for Symbian找到。对发布到Ovi应用商店的应用来说,开发者可以在pkg文件中使用如下的描述来申明dependency:

(0x2001E61C), 4, 6, 3, {"Qt"}(0x2002AC89), 1, 0, 1, {"QtMobility"}对于Symbian^3手机的开发者来说,早期的N8手机中虽然在出厂时已经有Qt库的安装,但可能没有Qt Mobility 库的存在,所以在发送应用到Ovi网站发布时,千万要记得在.pro文件中加入Qt Mobility的描述以声明对Qt Mobility库的dependency。这样用户在安装应用时可以自动从服务器中下载最新版的Qt Mobility库。开发者可以参阅文章: 怎么为Ovi商店应用对Qt应用签名。更多信息: Ovi Publisher Alert 。

在这里必须指出的是:对于任何在Ovi上发布的Qt应用来说,应用的UID必须是在 Protected 范围内的,也即0x2xxxxxxx。这个UID必须是在网址 www.symbiansigned.com 上登录后申请的全球唯一的UID。开发者在得到UID后可以在自己的.pro 文件中指定自己应用的UID。修改过后的应用需要使用开发者证书进行签名,而不能使用用自签名。关于更多签名的问题,请参考如何进行Symbian签名。更多关于Qt在Symbian平台上的签名可以参阅:Qt & Application Signing。

  1. symbian {      
  2. TARGET.UID3 = 0x2174fc7c      
  3. # TARGET.CAPABILITY +=     TARGET.EPOCSTACKSIZE = 0x14000    TARGET.EPOCHEAPSIZE = 0x020000 0x800000  

使用编译自签名的智能安装包

在进行打包之前,仔细检查 .pkg 文件中是否含有所支持平台的UID。详细的UID信息:。 平台及设备UID。否侧,所产生的sis文件将可能在手机运行的平台上不被支持而不能下载最新的Qt相关的库。

在DOS命令中执行qmake可以生成编译所需的所有文件

C:\Sources\Application>qmake调用make release-gcce生成可发布的symbian应用

C:\Sources\Application>make release-gcce调用make installer_sis,会生成加入了智能安装工具的安装包application_installer.sis

C:\Sources\Application>make installer_sis注: 如果调用的是make sis文件将生成没有封装智能安装工具的安装包application.sis

编译Symbian签名的智能安装包

在DOS命令中执行qmake可以生成编译所需的所有文件

C:\Sources\Application>qmake调用make release-gcce生成可发布的symbian应用

C:\Sources\Application>make release-gcce调用带证书和密钥选项的make sis,生成application.sis

C:\Sources\Application>make sis QT_SIS_CERTIFICATE=developer.cer QT_SIS_KEY=developer.key将生成的application.sis提交签名,然后调用make installer_sis,会生成加入了智能安装工具的安装包application_installer.sis

注意:在执行make installer_sis之前需要将封装包的UID改成0x2002CCCF详细内容参考附录

C:\Sources\Application>make installer_sis QT_SIS_CERTIFICATE=developer.cer QT_SIS_KEY=developer.key注意:这里的developer.cer及developer.key是开发者自己用于签名的开发者证书。新生成的application_installer.sis需要重新进行Symbian签名。

提交Ovi store的未签名的智能安装包

Ovi store现在提供为symbian应用签名的服务, 使用这个服务的开发者需要提交未签名的SIS包, 即Application_installer.sis 及 其包含的Application.sis 要未签名版本,(包含在Application.sis中的其他sis需要正确签名)。 Ovi store的签名服务只签名Application.sis及外层的Application_installer.sis。使用以下命令来生成SIS文件:

 

  1. make unsigned_sismake unsigned_installer_sis 

Note: 注意:开发者必须使用非Beta版的 最新的Nokia Qt SDK来生成,要提交的应用需要时未签名的SIS, 自签名(Self-Sign)的sis不能通过自动测试,开发者签名的SIS, 原则上可以手动去掉签名,但是这会延缓测试时间。unsigned_sis 和 unsigned_installer_sis选项 从Qt 4.7.1 开始提供,

Qt 4.6产生的Makefile不包含unsigned_sis 和 unsigned_installer_sis选项,而使用sis,installer_sis命令选项生成的是自签名的SIS这无法通过测试,加上开发者签名也会延缓测试进度。

不建议自己修改Makefile,在Nokia Qt SDK包含Qt4.7以前,要生成未签名的SIS,我们有下面两种方法。打开Start > Nokia Qt SDK > Symbian > Qt for Symbian Command Prompt命令行。

make release-gccemakesis Application_templae.pkg Application.sismakesis Application_installer.pkg也可以用signsis -u命令去掉签名,来得到未签名的 sis文件

make release-gccemake sissignsis -u Application.sis  Application.sismake installer_sissignsis -u Application_installer.sis Application_installer.sis请任选择其中一种方法, 生成用于提交的Application_instller.sis。

附录:.pkg封装文件

自签名的.pkg文件格式内容如下(部分)

  1. ; application_installer.pkg generated by qmake at 2010-06-04T15:17:38  
  2. ; This file is generated by qmake and should not be modified by the user;   
  3. ; Language&EN   
  4. ; SIS header: name, uid, version#{"application installer"},(0xA000D7CE),1,0,0   
  5. ; Localised Vendor name%{"Vendor"}   
  6. ; Unique Vendor name:"Vendor"使用Symbian签名的.pkg文件格式如下(部分)   
  7.  
  8. ; application_installer.pkg generated by qmake at 2010-06-04T15:17:38  
  9. ; This file is generated by qmake and should not be modified by the user;  
  10.  ; Language&EN ; SIS header: name, uid, version#{"application installer"},(0x2002CCCF),1,0,0   
  11. ; Localised Vendor name%{"Vendor"}   
  12. ; Unique Vendor name:"Vendor" 

区别在

  1. {"application installer"},(0xA000D7CE),1,0,0 

 变成了

  1. {"application installer"},(0x2002CCCF),1,0,0  

小结:Qt for Symbian智能安装工具,内容介绍完了。关于SmartInstaller 的一个样本 pkg 文件可以在这里File:Smartinstaller sample pkg.zip下载。

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-06-08 13:45:44

Symbian Qt

2011-01-18 13:10:07

BSDinstallFreeBSD

2009-11-25 09:28:02

Windows 7安装工具

2011-03-02 13:51:34

Ubuntu 11.0

2009-02-25 08:41:49

Windows 7自动安装工具更新

2009-08-30 12:55:12

光纤安装工具

2011-06-16 16:21:06

Qt Symbian FAQ

2009-01-03 15:11:05

ibmdwLinux

2011-06-16 15:59:40

Qt Symbian

2011-06-16 15:17:16

2011-06-16 13:56:48

Qt Symbian DLL

2011-05-03 09:14:45

QtOvi商店Symbian

2011-06-15 17:08:31

Qt Symbian 切换

2013-10-14 15:35:46

CentOSLNMPCentmin Mod

2011-06-28 14:27:38

Qt Qt For Sym

2011-06-16 08:46:17

Qt Symbian 手机

2011-06-16 15:36:56

Qt Quick Symbian

2011-06-27 15:22:01

Nokia Qt SDK

2009-11-12 08:42:59

Windows 7侵权无光驱安装

2013-06-05 09:18:26

综合布线安装工艺布线系统
点赞
收藏

51CTO技术栈公众号