2

我是黑莓开发的新手,遇到了一些我不明白的事情。我有一个我一直在开发的应用程序,它支持 Blackberry OS 5 到 7.1,并且除 OS 6 之外都可以在它们上工作。出于某种奇怪的原因,我得到:

启动 Foo 时出错:找不到类“net.rim.device.api.system.WLANListener”

仅在黑莓 OS 6 上!没有特定于操作系统的代码(据我所知)。这是在我清理了代码和模拟器(使用 Eclipse)并签署了代码之后。大多数情况下,该应用程序拒绝安装在 OS 6 设备上——当然,它在其他 OS 版本上运行良好。这可能是什么原因造成的?

4

1 回答 1

2

经过大量的研究和反复试验,我终于发现了这个问题。

如果应用程序的 rapc 大小超过 64kb,Blackberry 编译器会将文件拆分为多个称为同级 COD 的文件。您在可交付成果文件夹中看到的 COD 文件实际上是一个 zip 文件,其中包含主 COD 文件及其所有同级文件。尽管我仍然看到第一个 COD 文件更大的时间,但它们都应该是 64kb 或更小。

解决方法是确保项目中没有大于 64kb 的文件。虽然我读到有人有一个类在编译时超过 64kb 导致问题,但我有更大的图像,因此他们将类拆分并解决了他们遇到的问题。

症状很奇怪,不同操作系统版本的编译不一致,导致不同设备出现不同的奇怪问题,当时我在想,这似乎是一个链接问题,似乎我离得太远了。谢谢你。

于 2012-06-20T17:18:57.410 回答