Компания Google представила пакет Android NDK (Native Development Kit), позволяющий организовать сборку и выполнение программ, написанных с включением блоков кода на таких языках программирования, как Си и Си++. NDK не поддерживает выполнение целиком нативных приложений, программы по прежнему выполняются под управлением виртуальной машины Dalvik.
Пакет NDK включает в себя:
* Набор утилит и сборочных файлов для генерации специальных нативных библиотек на основе исходных текстов на языках Си и Си++. Поддерживается набор инструкций ARMv5TE;
* Инструменты для встраивания сгенерированных нативных библиотек в APK пакеты с приложениями, пригодные для установки на мобильных устройствах на базе платформы Android;
* Коллекцию системных заголовочных файлов и библиотек, поддерживаемых платформой Android. Например:
o libc - стандартная Си библиотека;
o libm - стандартный набор математических функций;
o JNI (Java Native Interface) интерфейс;
o libz - библиотека для сжатия данных;
o liblog - библиотека для ведения логов;
o библиотеки для поддержки языка C++.
* Документацию и примеры кода.
Разработчики Google предостерегают от необдуманного использования NDK в программах, советуя взвешивать его преимущества и многочисленные недостатки, такие как: усложнение кода, повышение трудоемкости отладки и недоступность функций Java API платформы Android из нативных блоков кода. Рекомендуется использовать NDK для оптимизации операций, требующих интенсивных вычислений или сложной обработки большого объема данных. В будущем планируется добавить в NDK поддержку графических (OpenGL ES) и звуковых библиотек, что должно способствовать созданию для платформы новых высокопроизводительных игр.
http://www.opennet.ru/opennews/art.shtml?num=22340 (//\"http://www.opennet.ru/opennews/art.shtml?num=22340\")