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

时间:2011-07-20 15:26:06

标签: c blackberry java-me port jna

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

  1. 字节码转换(cibyl等)
  2. 完整端口
  3. 使用JNA在Java周围编写C代码(这对Blackberry来说是否有效?)
  4. 请告诉我哪个选项最合适。感谢

2 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分:2)

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

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

你也可以尝试MoSync:http://twitter.com/#!/MoSync/status/115088826430533632 [这个的备份:“是的,你可以使用MoSync for BB。在MoSync 2.6中有”实验性“黑莓支持,已经在现场应用中使用了!”]

LLJVM的开发人员David A Roberts给我发了这样的话:“我对BlackBerry开发并不熟悉,但我认为没有明显的理由说明为什么LLJVM无法工作,只要库不依赖于比如C POSIX库(例如dirent.h等) - 我 从来没有完全实现这一点。否则LLJVM需要适当更新......“

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