Портирование библиотеки C на Java для приложения Blackberry - PullRequest
3 голосов
/ 20 июля 2011

Мне нужно перенести библиотеку C на Java, чтобы она могла работать на платформе Blackberry (мобильное, нативное приложение). Варианты, которые я рассматриваю:

  1. преобразование байт-кода (cibyl и т. Д.)
  2. Полный порт
  3. Обернуть код C вокруг Java с помощью JNA (это будет работать даже для Blackberry?)

Пожалуйста, дайте мне знать, какой вариант лучше. спасибо

Ответы [ 2 ]

3 голосов
/ 20 июля 2011

Aha.Некоторый быстрый поиск в Google говорит: «Нет, JNI не работает для blackberry» источник:

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.

Таким образом, вы застряли с преобразованием байт-кода и завершилипорт.Поскольку я понятия не имею, что такое преобразование байт-кода, я бы использовал полный порт, если вы знакомы с обоими языками.Если вы сможете определить преобразование байт-кода для меня, я мог бы дать вам лучший ответ.

2 голосов
/ 13 сентября 2011

У нас также есть собственная библиотека C для основных функций наших приложений для iOS и Android.

Я спросил об использовании cibyl для запуска этого на BlackBerry в форме .jar, и хорошая новость заключается в том, что это возможно: https://twitter.com/#!/simonkagstrom/status/114581622833152000 [резервная копия твита: «Конечно, вот как #waze on blackberry работает. "]

Вы также можете попробовать MoSync: http://twitter.com/#!/MoSync/status/115088826430533632 [резервная копия этого:" Да, вы можете использовать MoSync для BB. В MoSync есть "экспериментальная" поддержка Blackberry2.6, уже используется в живых приложениях! "]

И Дэвид Робертс, разработчик LLJVM, прислал мне следующее:" Я не знаком с разработкой BlackBerry, но не вижу очевидной причины, по которой LLJVM не будет работатьДо тех пор, пока библиотека не слишком полагается на такие вещи, как библиотека C POSIX (например, dirent.h и т. д.), я никогда не удосужился реализовать это полностью. В противном случае LLJVM необходимо будет соответствующим образом обновить ... "

Примечание: новая планшетная операционная система BlackBerry и запланированные телефоны BBX на самом деле имеют собственный SDK, но этот материал на основе QNX весьма непопулярен .Нам просто нужно подождать, если BBX станет успешным, поскольку решения на основе Java представляют слишком большой риск.

...