将C库移植到Java以用于Blackberry应用程序

我需要将C库移植到Java,以便它可以在Blackberry平台(移动,本机应用程序)上运行。 我正在考虑的选项是:

  1. 字节码转换(cibyl等)
  2. 完整的端口
  3. 使用JNA在Java周围包装C代码(这甚至可以用于Blackberry吗?)

请告诉我哪个选项最好。 谢谢

啊哈。 一些快速的谷歌搜索说“不,JNI不适用于黑莓”来源:

http://supportforums.blackberry.com/t5/Java-Development/Can-we-use-JNI-Java-Native-Interface-approach-in-Blackberry/mp/365362

http://supportforums.blackberry.com/t5/Java-Development/JNI/mp/41140

所以你坚持使用字节码转换和完整的端口。 由于我不知道字节码转换是什么,所以只要您熟悉这两种语言,我就会使用完整的端口。 如果你可以为我定义字节码转换,我可能会给你一个更好的答案。

我们还有一个内部开发的C库,用于iOS和Android应用程序的核心function。

我问过使用cibyl以.jar的forms在BlackBerry上运行它,好消息是它可能: https ://twitter.com/#!/ simonkagstrom / status114581622833152000 [推文的备份:“当然,这就是黑莓的#waze如何运作。“]

你也可以试试MoSync: http : //twitter.com/#!/ Mobync / status115088826430533632 [这个的备份:“是的,你可以使用MoSync for BB。在MoSync 2.6中有”实验性“黑莓支持,已经使用过在实时应用程序!“]

LLJVM的开发人员David A Roberts给我发了这样的话:“我不熟悉黑莓开发,但我认为没有明显的理由说明为什么LLJVM无法工作,只要图书馆不太依赖于像C POSIX库(例如dirent.h等) – 我从来没有完全实现这个。否则LLJVM需要适当更新……“

旁注:BlackBerry的新平板电脑操作系统和计划中的BBX手机实际上都有原生SDK,但这种基于QNX的东西非常不受欢迎 。 我们只需等待BBX即将成功,因为基于Java的解决方案风险太大。