BlackBerry 应用程序开发者指南 第一卷:基础--第12章 打包和部署
作者:Confach 发表于2006-04-28 21:49
版权信息:可以任意转载, 转载时请务必以超链接形式标明文章原始出处 和作者信息.
http://www.cnblogs.com/confach/articles/387917.html
12
第12章 打包和部署
使用BlackBerry桌面软件部署应用程序 无线部署应用程序 |
使用BlackBerry桌面软件部署应用程序
应用程序加载工具是BlackBerry桌面软件的一部分,它使用一个应用程序加载文件(.alx)将新的应用程序装载到BlackBerry设备上.
为每个应用程序创建一个应用程序加载文件(.alx),然后把.alx和.cod分发给用户.为获得更多信息,参看应用程序加载在线帮助.
创建一个应用程序加载文件
1. 在BlackBerry IDE中,选择一个项目.
2. 在Project菜单上,单击Generate .alx file.
把应用程序的.alx和.cod分发给用户.当用户将BlackBerry设备和他们的计算机连接起来时,他们可以使用BlackBerrry桌面软件将应用程序装载到BlackBerry设备.
注:缺省的,应用程序的.cod文件与它的.alx文件放在同一目录下.如果你改变了和.alx文件相关的.cod位置,编辑.alx文件,加入一个<directory>元素来指定文件的位置.参看183页的”附录:.alx文件的格式”获得更多信息.
无线部署应用程序
手持设备软件允许用户利用BlackBerry浏览器无线下载应用程序.用户可以下载标准的MIDlet和BlackBerry应用程序.为了让用户无线下载应用程序,你必须提供一个恰当的应用程序描述符 (.jad),以及一个应用程序的.cod或.jar文件.在BlackBerry浏览器中,用户选择一个.jad文件进行下载应用程序.
系统管理员可以设置应用程序控制策略来控制第三方应用程序的使用.参看16页的”应用程序控制”获得更多信息.
采用下列方式让用户可以无线下载BlackBerry或MIDlet应用程序:
- 使用BlackBerry MDS服务,它将.jar文件转化为.cod文件.
- 使用BlackBerry JDE创建你的工程,它生成一个.cod文件.
部署.jar文件
BES的BlackBerry MDS优化服务提供了一个内置的编码转化器,它将.jar文件转化为.cod文件,它允许用户下载标准的MIDlet.例如,公司的管理员可以维护局域网内一系列已许可的MIDlet.用户可以浏览web页面,并且为应用程序选择一个.jad文件下载.在BES将它们发送到BlackBerry设备之前,它会将.jar文件转化为.cod文件.
注:Web服务器必须为.cod文件和.jad文件设置MIME类型.对于.cod文件,MIME类型是application/vnd.rim.cod.对于.jad文件,MIME类型是text/vnd.sun.j2me.app-descriptor.对于.jar文件,MIME类型是application/java-archive.
下列版本的BES支持将.jar文件转化为.cod文件.
- Microsoft Exchange BES 3.6以及以后的版本
- IBM Lotus Domino BES 2.2以及以后版本.
注:如果用户使用带有MDS服务的BES访问网络,他们只能下载.jar文件.MDS服务将.jar文件转化为BlackBerry设备需要的.cod文件格式.如果用户使用WAP网关访问网络,用户只能下载.cod文件.
MIDlet应用程序描述符属性
应用程序描述符文件有一个.jad的扩展.一个标准的MIDlet .jad文件包括了下列预定义的属性,可能也会包含应用程序定义的附加属性.
必需的MIDlet属性 |
描述 |
MIDlet-Jar-Size |
.jar文件的字节大小. |
MIDlet-Jar-URL |
可以加载.jar文件的URL. |
MIDlet-Name |
MIDlet包的名称. |
MIDlet-Vendor |
提供MIDlet包的组织. |
MIDlet-Version |
MIDlet包的版本,形式为<major><minor><micro>. |
可选的MIDlet属性 |
描述 |
MIDlet-Data-Size |
MIDlet包需要的持久数据的字节大小.缺省为0. |
MIDlet-Delete-Confirm |
当用户确定删除MIDlet包时,文本消息弹出. |
MIDlet-Description |
MIDlet的描述. |
MIDlet-Icon |
在.jar文件里,用来代表MIDlet包的.png图像的文件名. |
MIDlet-Info-URL |
描述MIDlet包的未来信息的URL. |
MIDlet-Install-Notify |
发送一个POST请求以确认MIDlet成功安装的URL. |
部署.cod文件
当你编译项目时,BlackBerry JDE创建一个需要的.jad文件.你也可以使用BlackBerry JDE将MIDlet .jar文件转化为.cod文件格式.
使web服务器上的.cod和.jar文件供用户下载.通过使.cod文件可用,你可以将应用程序部署到那些使用BES但不能访问网络的用户.
注:Web服务器必须为.cod文件和.jad文件设置MIME类型.对于.cod文件,MIME类型是application/vnd.rim.cod.对于.jad文件,MIME类型是text/vnd.sun.j2me.app-descriptor.对于.jar文件,MIME类型是application/java-archive.
BlackBerry应用程序描述符属性
除了MIDlet应用程序属性外,下面的属性也应用到BlackBerry .jad文件中.
必需的RIM属性 |
描述 |
RIM-COD-Creation-Time |
.cod文件创建的时间. |
RIM-COD-Module-Dependencies |
.cod文件需要的模块列. |
RIM-COD-Module-Name |
包含在.cod文件中的模块名称. |
RIM-COD-SHA1 |
.cod文件的SHA1哈希 |
RIM-COD-Size |
.cod文件的字节大小. |
RIM-COD-URL |
可以加载.cod文件的URL. |
可选的RIM属性 |
描述 |
RIM-Library-Flags |
RIM保留使用 |
RIM-MIDlet-Flags |
RIM保留使用 |
RIM-MIDlet-NameResourceBundle |
应用程序依赖的资源包名 |
RIM-MIDlet_Position |
应用程序图标在主页面上建议的位置. 注:这个位置可能不是应用程序图标在主页面上的实际位置. |
BlackBerry允许你创建一个双目的的.jad文件,支持将MIDlet文件下载到BlackBerry设备和其他无线设备中.为了实现它,创建一个既包括RIM-COD-URL和RIM-COD-Size属性,又包括MIDlet-Jar-URL和MIDlet-Jar-Size属性的.jad文件.在BlackBerry设备上,你可以下载.cod文件,在其他设备上,你可以下载.jar文件.
设置.cod文件之间的依赖
.jad包含了一个RIM-COD-Module-Dependencies属性,它指定了应用程序需要的模块,但是没有提供它.如果没有任何需要的模块,BlackBerry浏览器将阻止应用程序的无线安装,并且为用户列出丢失的模块.RIM-COD-Module-Dependencies属性使用户避免下载一个不能运行的应用程序.
RIM-COD-Module-Dependencies属性将以逗号分隔的模块名为参数.例如,一个需要RIM XML库的应用程序使用下面的应用程序描述符:
RIM-COD-Module-Dependencies:net_rim_cldc,net_rim_xml |
部署兄弟.cod文件
BlackBerry为应用程序创建单个.cod文件和.jad文件.如果应用程序包含了大于64K字节的代码或源数据,BlackBerry IDE将创建一个包含兄弟文件的.cod文件.仅BlackBerry浏览器支持包含兄弟文件的.cod文件安装.
注:如果.cod文件需要验证,在.jad文件中更新已验证的.cod文件大小.参看BlackBerry IDE帮助获得更多信息.
决定.cod文件是否包含兄弟.cod文件
1. 提取.cod文件的内容.
任何在原始.cod文件的.cod文件都是兄弟文件.
使用MDS服务
为了使用BlackBerry浏览器将一个应用程序部署到一个BlackBerry设备,.此设备已和3.6.4或更高版本的带有MDS服务的BES连接,你需要将.cod文件和.jad文件放到web服务器上.为了将一个应用程序部署到BlackBerry设备,.jad文件和.cod文件必须放到web 服务器上.MDS服务使用浏览器下载每个兄弟.cod文件,一次一个.
BlackBerry首先加载.jad文件.MDS服务的MDS Provisioning Service(MDS供应服务)为每个原始.cod文件里的兄弟文件重复此过程.
使用BlackBerry Internet服务或WAP浏览器
为了使用BlackBerry浏览器将应用程序部署到一个没有使用BES的设备上,修改.jad文件单独列出每个兄弟文件.你必须从原始的.cod文件提取每个兄弟文件,并且将它们放在web服务器上.BlackBerry浏览器将按照.jad文件列出的顺序一次只下载一个兄弟.cod文件.
注:为了避免覆盖原始的.cod文件,提取兄弟.cod文件到一个不同的目录下,而不是原始文件所在的目录.
为了提取兄弟.cod文件,完成下面的操作:
1. 将原始的.cod文件解压缩,提取兄弟.cod文件.
2. 将每个兄弟.cod文件放在web服务器上.
3. 在.jad文件中,单独列出兄弟.cod文件.对每个兄弟文件,创建RIM-COD-URL-<#>,RIM-COD-Size-<#>参数.
- RIM-COD-URL-<#>:为每个兄弟.cod文件创建一个RIM-COD-URL-<#>,并将兄弟文件名放在参数的右边.#一个对每个兄弟文件都增加1的数字.每个兄弟.cod文件的名字和原始的.cod文件的名字一样,后面紧跟-<#>.
- RIM-COD-Size-<#>:为每个兄弟.cod文件创建一个RIM-COD-Size-<#>参数,并将每个文件的大小放在参数右边,#和加到兄弟文件名后面的数字一样.将RIM-COD-Size-<#>参数放在紧靠RIM-COD-URL-<#>的下面.
在下面的例子中,有2个兄弟文件.在原始的.cod文件myApp后,开发者将兄弟文件命名为myApp-1.cod和myApp-2.cod.开发者为每个兄弟文件名加入’.cod’扩展.并为每个兄弟文件创建一个RIM-COD-Size-<#>的参数.
Manifest-Version: 1.0 MIDlet-Version: 1.0.0 MIDlet-1: ,, RIM-COD-Module-Dependencies: net_rim_cldc MicroEdition-Configuration: CLDC-1.0 RIM-COD-Module-Name: MyApp MIDlet-Name: My Application RIM-COD-URL: myApp.cod RIM-COD-Size: 55000 RIM-COD-URL-1: myApp-1.cod RIM-COD-Size-1: 50000 RIM-COD-URL-2: myApp-2.cod RIM-COD-Size-2: 25000 MicroEdition-Profile: MIDP-1.0 |
注:为兄弟.cod文件使用下面的命名规则:<原始.cod文件名>-<序列号>.你必须为每个兄弟文件分配一个数字.这个数字从1开始,并且逐次加1.
4. 在你打算部署应用程序的设备上,从BlackBery浏览器下载每个单独的兄弟文件.