Android-приложение с интерфейсом JNI - PullRequest
0 голосов
/ 05 марта 2011

Разрешает ли Android Marketplace приложения на базе JNI? Как насчет перевозчиков? Каковы недостатки использования библиотеки C / C ++ в приложении Android?

Ответы [ 2 ]

2 голосов
/ 05 марта 2011

Q1: Да. У нас есть один там.

Q2:

  1. Необходимо создать слой JNI (подробнее код для поддержки)
  2. Необходимо поддерживать код c / c ++ в дополнение к Java (нет проблем, если вы люди разбираются в обоих)
  3. Больше шансов для FC из-за манипулирования указателем в коде c / c ++ (происходит с группами, которые имеют опыт работы на Java, но не так много в с / с ++ - реальный опыт) * ​​1010 *
  4. Чуть более сложный процесс сборки (необходимо настроить среда для создания родного код, например Cygwin, собрать оба ARM v5 и v7, упакуйте их). НДК имеет хорошие шаблоны для этого, хотя.
  5. Используйте опыт C / C ++ в своей команде. Освоение Java (язык - синтаксис) не представляет особой проблемы. Понимание тонкостей JRE и структуры занимает больше времени. См. Последний абзац ниже.

Вы не спрашивали, но здесь мы идем: большое преимущество наличия нативного кода - это возможность использовать одну и ту же кодовую базу на разных платформах (например, iOS и Android).

Наконец, спорно преимущество: больше возможностей для оптимизации / C ++ кода родного C, чем код Java, в зависимости от вашей команды фона. Пожалуйста, не обращайте на это внимания. Это основано на опыте или нашем приложении. У нас есть опытные люди на C / C ++, которые могут точно настроить использование памяти (например, сэкономить на распределении памяти) и быстро написать код на C / C ++. Насколько я знаю, опытная команда Java может написать такое же быстрое приложение.

0 голосов
/ 05 марта 2011

Android имеет Native Development Kit или Android NDK для работы с библиотеками c / c ++. Их целью является реализация критически важных для вашего приложения частей:

Android NDK является сопутствующим инструментом для Android SDK, который позволяет создавать критичные к производительности части вашего приложения в нативном коде.

Так что, конечно, вы можете создавать приложения на основе jni, и они будут применяться для рынка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...