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浏览器无线下载应用程序.用户可以下载标准的MIDletBlackBerry应用程序.为了让用户无线下载应用程序,你必须提供一个恰当的应用程序描述符 (.jad),以及一个应用程序的.cod.jar文件.BlackBerry浏览器中,用户选择一个.jad文件进行下载应用程序.

系统管理员可以设置应用程序控制策略来控制第三方应用程序的使用.参看16页的应用程序控制获得更多信息.

采用下列方式让用户可以无线下载BlackBerryMIDlet应用程序:

  • 使用BlackBerry MDS服务,它将.jar文件转化为.cod文件.
  • 使用BlackBerry JDE创建你的工程,它生成一个.cod文件.

部署.jar文件

BESBlackBerry 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文件.

  1. Microsoft Exchange BES 3.6以及以后的版本
  2. 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 JDEMIDlet .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-URLRIM-COD-Size属性,又包括MIDlet-Jar-URLMIDlet-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.codmyApp-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浏览器下载每个单独的兄弟文件.


posted on 2006-04-28 21:49 Confach 阅读(3469) 评论(9)  编辑 收藏 网摘 所属分类: BlackBerry

评论

#1楼 2008-06-24 17:33 zafira[未注册用户]

有个超级着急的问题请你帮忙,我在8100上可以通过cmnet连接某个url,但是我换到8310上就不可以,一直提示tunnel timed out,让我很费解

我就是connector.open一个socket连接,不知道是程序问题还是手机问题
有结果可以mail我吗
非常感谢
  回复  引用    

#2楼[楼主] 2008-06-24 17:37 Confach      

@zafira
检查一下手机设置
  回复  引用  查看    

#3楼 2008-09-02 17:49 NaiveAge[未注册用户]

我最近做了一个OTA站点。
jad都是自己用notepad手写的。
没有使用任何工具。
这样写出来。把cod和jad一同放在服务器上。
用户反映下载到100%的时候却安装不上。
提示907错误。
请问应该是和jad有关的对吗?(MIME设置正确)
那么如果是这样,jad该如何书写?
或者有没有这样一个工具,可以根据cod文件,直接生成可用的jad?
  回复  引用    

#4楼[楼主] 2008-09-02 21:39 Confach      

1)先检查一下JAD是否真的写对,格式本文有
2)有正确的COD文件没有
3)JAR是否正确,按照我的实际经验,其实没有jar也没有关系。
4)查看你的OS版本,也可能有关系。

至于907错误,其实就是invalid jar文件。但是OTA可以不用jar的。
  回复  引用  查看    

#5楼 2008-09-03 08:24 NaiveAge[未注册用户]

cod文件是正确的,通过DM可以正确安装。
但通过JAD引导就不可以

下面是我编写JAD的方法……

MIDlet-Jar-Size:没有写
MIDlet-Jar-URL:没有写
MIDlet-Name:根据软件名称写的(如anyview,我就写anyview)
MIDlet-Vendor:这个我随便写的,估计不会影响(对吧?)
MIDlet-Version:这个我根据软件的具体版本写的(影响也不大,对吧?)

RIM-COD-Creation-Time 是乱写的(复制于一个已存在的jad)
RIM-COD-Module-Dependencies:我通通填写的是:net_rim_cldc
RIM-COD-SHA1 没有写(因为不知道是怎么算出来的……)
RIM-COD-Module-Name 我写的是cod的文件名(如anyview.cod,我就写anyview
RIM-COD-Size:根据具体大小实际填写。
RIM-COD-URL:根据实际地址填写(没有错)

那么以anyview为例:
我写的jad就是这样的……

Manifest-Version: 1.0
MIDlet-Version: 3.2.12
MicroEdition-Configuration: CLDC-1.1
RIM-COD-Module-Dependencies: net_rim_cldc
RIM-MIDlet-Flags-1: 0
RIM-COD-Module-Name: Anyview
MIDlet-Name: Anyview
RIM-COD-Size: 595842
RIM-COD-Creation-Time: 1218812329
RIM-COD-URL: Anyview.cod
MIDlet-Description: Anyview 3.2.12(Classic Version)
RIM-MIDlet-NameResourceId-1: 0
MicroEdition-Profile: MIDP-2.0
MIDlet-Vendor: BerryMail

不知道为何这样写出来的jad引导下载COD到100%,安装时出现907 invalid cod……

请大哥指教……T。T
  回复  引用    

#6楼[楼主] 2008-09-03 09:25 Confach      

@NaiveAge
给你一个模板,这个是我验证通过的,换成了你的anyview:
Manifest-Version: 1.0
RIM-COD-Module-Name: Anyview
RIM-COD-Module-Dependencies: net_rim_cldc
MIDlet-Jar-Size: 34783
MIDlet-1: Anyview,,auto-start
RIM-COD-Creation-Time: 1219222349
MIDlet-Jar-URL: Anyview.jar
RIM-COD-URL: Anyview.cod
RIM-COD-SHA1: 27 39 54 3f a3 70 e1 47 57 23 d7 10 96 21 8f a0 64 8e a1 c0
RIM-COD-Size: 11788
MicroEdition-Configuration: CLDC-1.1
MIDlet-Version: 0.2.2
MIDlet-Name: Anyview
MIDlet-Description: Anyview 3.2.12(Classic Version)
MIDlet-Vendor: BerryMail
MicroEdition-Profile: MIDP-2.0
RIM-MIDlet-Flags-1: 3
  回复  引用  查看    

#7楼 2008-09-04 18:35 NaiveAge[未注册用户]

@Confach
还是不行……
崩溃了……
907
  回复  引用    

#8楼[楼主] 2008-09-04 18:55 Confach      

@NaiveAge
抽时间我们一起看看吧
  回复  引用  查看    

#9楼 2008-09-19 16:48 邹觉[未注册用户]

说句老师话 ,你说的不清楚   回复  引用    




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 387917




相关文章:

相关链接:

导航

公告


所有文章禁止转载,若想推荐或收藏,请用链接的形式。

哈罗,作者

Shared Readings


统计

与我联系

搜索

 

常用链接

留言簿

我参与的团队

我的标签

随笔分类(100)

随笔档案(95)

文章分类(79)

文章档案(82)

相册

Blogs

积分与排名

最新评论

阅读排行榜

评论排行榜

Blackberry Document