Начиная с Android 2.3 (API Level 9), существует NativeActivity, позволяющая кодировать приложение Android только на C ++. Для этого также есть пример в пакете NDK.
Когда разрабатывать в родном коде
NDK не принесет пользы большинству приложений. Как разработчик, вам нужно
сбалансировать его преимущества с его недостатками; в частности, используя родной
код не приводит к автоматическому увеличению производительности , но всегда
увеличивает сложность приложения. В общем, вы должны использовать только
нативный код, если это необходимо для вашего приложения, а не только потому, что
вы предпочитаете программировать на C / C ++.
Типичными хорошими кандидатами для NDK являются автономные, ресурсоемкие
операции, которые не выделяют много памяти, такие как обработка сигналов,
симуляция физики и тд. Просто перекодировать метод для запуска в C
обычно не приводит к значительному увеличению производительности . когда
изучая, стоит ли разрабатывать в нативном коде, подумайте
о ваших требованиях и посмотрите, предоставляют ли API-интерфейсы платформы Android
функциональность, которая вам нужна. НДК, однако, может быть
эффективный способ повторно использовать большой корпус существующего кода C / C ++ .
Платформа Android предоставляет два способа использования собственного кода:
Напишите свое приложение, используя платформу Android, и используйте JNI для доступа к API, предоставляемым Android NDK. Эта техника позволяет вам
воспользоваться удобством платформы Android, но
по-прежнему позволяет писать нативный код при необходимости. Вы можете установить
приложения, которые используют собственный код через JNI на устройствах, которые работают
Android 1.5 или более поздняя версия.
Напишите собственное действие, которое позволяет вам реализовать обратные вызовы жизненного цикла в собственном коде. Android SDK обеспечивает NativeActivity
класс, который является вспомогательным классом, который уведомляет ваш родной код
любые обратные вызовы жизненного цикла действий (onCreate (), onPause (), onResume (),
так далее). Вы можете реализовать обратные вызовы в вашем родном коде для обработки
эти события, когда они происходят. Приложения, которые используют нативные действия
должен быть запущен на Android 2.3 (уровень API 9) или более поздней версии.
Вы не можете получить доступ к таким функциям, как службы и поставщики контента.
изначально, так что если вы хотите использовать их или любой другой фреймворк API, вы
все еще может написать код JNI для этого.
Я бы взял C / C ++ при портировании кода и, возможно, при разработке кроссплатформенных игр.