辅助功能*
Alex Michael

Alex Michael

www.handyx.net*
出版日期:
2006 年 9 月 25 日
用户级别:
初级
产品:
Devices

创建 SIS 文件以便分发

SIS 格式提供一种方法, 可将 SWF 应用程序文件与任何额外文件 (TXT 文件等等) 打包为 Symbian 设备上的单一安装程序文件。 本文将指导您完成为 Symbian 操作系统 (OS) 上运行的 Flash Lite 应用程序创建 SIS 文件的步骤。 我将检查本文中包含的示例文件, 创建 SIS 文件所需的开发工具和脚本, 如何创建 SIS 文件, 及如何测试 SIS 文件。

对于大型应用程序, Flash Lite 播放器可能会用尽内存, 引起应用程序崩溃。 为了避免内存溢出, 您需要将不同的应用程序部分放到不同的文件中以在运行时加载。 在示例 Arcade Heroes (包含在本文的示例文件中) 中, 存在一个主 SWF 文件, 该文件包含主菜单并处理游戏的加载。 游戏位于称为 "games" 的子文件夹中。 在本文的这一示例中, 我有三个文件和一个子文件夹。 若要在该设备上安装它们, 您可以单独地将所有文件发送至手机, 但用户接着必须重新在该设备上创建您的目录结构并单独地设置每个文件。 另一种方法是创建一个安装文件, 即一个 SIS 文件。

对于使用来自 Symbian 的 S60 第二版和第三版操作系统的手机, 此 SIS 文件适合 Flash Lite 1.1 和 Flash Lite 2.0。

要求

要完成本课程, 您需要安装以下软件:

Flash Professional 8

示例文件:

示例文件

在本文开始链接的 make_sis_explained.zip 文件包含为 Nokia 第二和第三版平台构建 SIS 文件所需的所有工具。 这些工具也包含在完整 Symbian SDK 中。 您可以从此处*下载并安装 Symbian SDK。

所需的 SDK 版本将取决于您发布到的设备。 您可以在以下网页中找到一个设备列表及其 SDK:http://developer.symbian.com/main/tools_and_sdks/sdks/s60/index.jsp

make_sis_explained.zip 存档文件包含以下文件:

ArcadeHeroes.swf SWF 内容
games/invaders.swf SWF 内容
games/pacman.swf SWF 内容
Arcade1_2nd_edition.SIS Nokia S60 第二版 SIS 包
Arcade1_3rd_edition_signed.sis Nokia S60 第三版已签名 SIS 包
Arcade1_2nd_edition.pkg Nokia S60 第二版 SIS 包描述符
Arcade1_3rd_edition.pkg Nokia S60 第三版 SIS 包描述符
makesis.php PHP 脚本
mykey.key 使用 makekeys.exe 创建的示例证书密钥
mycert.cer 使用 makekeys.exe 创建的示例证书
makekeys.exe 用于创建签名密钥的 Symbian 应用程序
signsis.exe 用于签署 SIS 文件的 Symbian 应用程序
makesis1.exe 用于为 Nokia S60 第二版制作 SIS 文件的 Symbian 应用程序
makesis2.exe 用于为 Nokia S60 第三版制作 SIS 文件的 Symbian 应用程序

开发工具和 PHP 脚本

工具和开发

makesis 是用于创建 SIS 文件的有力工具。 它通过使用一个 PKG 配置文件来输出一个 SIS 文件来指定详细信息。 在此示例中, 我还为您提供一个 PHP 脚本, 您也可以使用该脚本来自动化此 SIS 生成过程。 您也可以将它用于具有多个文件的简单的单一语种项目, 或者在您不喜欢必须创建一个 PKG 文件时使用它。 具有同样功能的其他著名工具有 SWF2SISsisarunSis

PHP 脚本

正如我所谈到的那样, 我提供的 PHP 脚本为您的项目生成 SIS 和配置 PKG 文件。 以下是在 makesis 上使用 PHP 脚本的一些优点:

  • 所需的 PKG 语法知识最少。
  • 该脚本 (在提供时) 已为基于 Flash 的内容的创建和安装进行了适当的设置。
  • 该脚本仅实施 PKG 的强制细节。

PHP 脚本的主要缺点是需要对其进行修改以说明多语种项目。 另外, 在脚本调用 makesis 工具以创建 SIS 时, 仍需要安装该工具。

以下是创建具有主 SWF 文件的 SIS 文件的 PHP 脚本的概述。 您指定子文件夹的所有 SWF 文件以安装于 Symbian 第二版和 Symbian 第三版设备上。

"appName"=> "Arcade1"
// The name of your application
	
"vendor"=> "Sprite"
// The name of your company

"player"=> "2"
// The version of the flash lite player your application is for
// (1.1 or 2)

"appUID_2nd"    => "0x10207F05"
// The UID of the application for 2nd Edition platform       
(get your block of id's at the symbian website)

"appUID_3rd"    => "0xA0000001"
// The UID of the application for 3rd Edition platform 
// (get your block of ID's at the symbian website)

"flashFolder_2nd"   => "!:\\Nokia\\Others\\",
// the folder where the  swf files will be installed on Series 60 2nd
// Edition handsets.

"flashFolder_3rd"   => "!:\\Others\\",
// the folder where the  swf files will be installed on Series 60 3rd
// Edition handsets.

"S60ProductID"  => "0x200005F9"
// See the ID's at http://www.newlc.com/Common-products-UIDs.html

"sign_password" => "yourpassword"
// The password you used with makekeys

$subFolder  = "games";
// The name of the subfolder which contains additional swf files

$MainSWF    => "ArcadeHeroes.swf";
// Your main swf file

创建 SIS 文件

对于第三版平台, 需要指定您的 SIS 将适用的平台或设备。 从 http://www.newlc.com/Common-products-UIDs.html 获取平台或设备 UID。

对于第三版平台, 您将需要签署您的 SIS 文件。 否则, 设备将不接受它。 若要签署您的 SIS 文件, 您首先需要创建一个密钥。 这可以通过使用 makekeys.exe 来完成。使用下面的代码行语法并按屏幕指示操作。

makekeys -cert -password yourpassword -len 2048 -dname "CN=Your Name OU=Development OR=Your Company Ltd CO=GB EM=your@email.com" mykey.key mycert.cer

若要构建 SIS 文件, 请运行我提供给您的 PHP 脚本。 在文本编辑器中打开该脚本以查看需要编辑哪些参数以适合您的项目。 若要运行脚本, 请在命令行上使用以下内容:

php makesis.php

如果完全成功, 则应看到以下输出:

Creating Arcade1_2nd_edition.pkg ...
  Including games/invaders.swf
  Including games/pacman.swf
Processing Arcade1_2nd_edition.pkg...
Created Arcade1_2nd_edition.SIS

Creating Arcade1_3rd_edition.pkg ...
  Including games/invaders.swf
  Including games/pacman.swf
Processing Arcade1_3rd_edition.pkg...
Created Arcade1_3rd_edition.SIS

SIGNSIS Version 4, 0, 0, 1
A utility for signing Software Installation (SIS) files.
Copyright (c) 2004 Symbian Software Ltd. All rights reserved.

Signing

Primary:
Issued by Alex Michael.
Issued to Development.
Valid from 16/08/2006 to 16/08/2007.
Done!

如果您希望手动执行打包, 您将需要编写您自己的 PKG 文件, 该文件将指定会将哪些文件存储在设备上的指定文件夹中, 将指定应用程序的名称和 UID, 且对于第三版平台设备来说, 还会指定平台或设备的供应商和产品 ID。 以下是执行手动打包的步骤:

  1. 运行 makesis 并将 pkg 文件作为参数传送:

    makesis yourpackagefile.pkg
    

    现在您应有一个与您的 PKG 文件处于同一文件夹中的 SIS 文件。

  2. 使用 signsis.exe 签署该包文件:

    signsis -o -s -v yoursisfile.sis yoursignedsisfile.sis mycert.cer mykey.key yourpassword
    

mycert.cermykey.key 是您早期使用 makekeys.exe 创建的文件, 而 yourpassword 是您创建密钥时输入的密码。

测试 SIS 文件

在不同设备的文件夹结构中存在许多差异。 为了使您的应用程序能够出现在 Nokia N70 上, 需要在 Nokia/Others 中安装该应用程序。 在 Nokia N80 上, 您将需要将该应用程序置于 Others 中。

N70 – Nokia\Others

N80 – Others //warning: install this in a folder called others not other.

在 Nokia N80 上, 您必须安装到内存卡上。 在 Nokia N70 上, 您必须安装到手机内存上。

下一步工作

若要获得运行于移动设备上的 arcade heroes 的原始源文件和 Flash Lite 1、1.1 和 2.0 中的五个其他 arcade 样式的游戏, 请找一本我的书使用 Flash 8 制作动画:创新动画技术*, 并查阅书前面所附 CD。

关于作者

Alex Michael 是 Sprite Interactive Ltd. 的常务董事,Sprite Interactive 是专门提供基于移动的解决方案的一家新的媒体公司。 目前的客户包括 Vodafone、Orange、T-Mobile、ESPN、Disney、Jamba、Jetix。 若要查看 Sprite 的关于移动游戏、应用程序和移动宠物的信息,请访问我们的产品展示站点www.Handyx.net*