MIDlet + BlackBerry API =验证错误?

时间:2010-03-18 13:59:23

标签: blackberry java-me midp midlet

有没有办法编写MIDlet,但仍然使用BlackBerry API类和函数(包括需要代码签名的API)?

特别是,我正在尝试使用Kuix(http://www.kalmeo.org/projects/kuix)。在将jar / jad转换为cod文件后,一个纯粹的MIDlet + Kuix(所以没有黑莓的东西)工作得很好。

一旦我添加了BlackBerry API-stuff(在这种情况下为CoverageInfo.COVERAGE_DIRECT),我在尝试运行cod文件时出现验证错误:

  

启动$ name时出错:模块$ name在偏移9a4f处有验证错误2410

我该怎么做才能解决这个问题?

3 个答案:

答案 0 :(得分:1)

我猜你必须将jar转换为cod(就像你所做的那样)并且可能签名。

BB开发人员教程C40 Using MIDLets on BlackBerry

  

毫无疑问,额外的RIM API为开发人员提供了更大的灵活性,并能够为他们的BlackBerry应用程序提供自定义功能。现有的MIDLets可以在BlackBerry智能手机上使用,也可以通过添加BlackBerry特定功能来丰富它们   另一方面,为BlackBerry定制的应用程序无法在其他平台上运行,如果可移植性是主要问题,则不应使用RIM API,或者您可以选择使用两个版本:一个用于BlackBerry,另一个用于所有其他J2ME设备。即使可移植性是一个问题,您可以看到添加一些BlackBerry特定功能是多么容易,我强烈建议这样做。
  在一天结束时,您可以选择三个选项:
  1.在BlackBerry上运行现有的J2ME(JAR文件)应用程序   - 一个。没有成本
   - b。权限问题和未优化的用户体验
  2.将JAR文件转换为COD并签署应用程序
  - 一个。几乎没有成本 - 代码签名密钥的成本约为20美元    - b。应用程序权限没有问题,但仍然存在非优化用户的问题   经验
  3.转换和签名优化应用程序
  - 一个。开发时间很短 - 通常是几天    - b。更好的整体用户体验。

另见A60 How And When To Sign

答案 1 :(得分:0)

以下是来自RIM on Midlet的完整documention

在Midlet应用程序中,某些BlackBerry API无法使用,您需要构建一个CLDC应用程序才能使用它们。

答案 2 :(得分:0)

我同意Max的观点,我要在这里添加的唯一一点是除了与UI相关的所有黑莓API都可以在Midlet中使用。 LCDUI和Blackberry Native UI不能在应用程序中一起使用。