Хотите дальше читать devby? 📝
Support us

Исследуем Android NDK

Оставить комментарий
Исследуем Android NDK
Относительно недавно, по галлактическим меркам, компания гугл выпустила операционную систему для мобильных платформ Android, ну а совсем недавно компании-производители телефонов начали производить телефоны с этой системой на борту. Как можно судить упор делался восновном на Java программистов, это видно и по более менее вменяемому SDK и по плагинам для IDE Eclipce. А что делать разработчикам на C++ ? Видно компания гугл услышила их мольбы и выпустила в свет Android ndk, собственно о нём и пойдёт речь. Для чего оно надо. Вообще Android NDK рекомендуется использовать в случае когда надо реализовать части приложения критичные по скорости выполнения. В принципе никто не запрещает реализовывать почти всё приложение на native коде. Более того такие приложения можно продавать на андроид маркете. В частности, таким образом были портированы DOOM и аналогичные олдскульные игры. Установка Она достаточна простая, опишу под операционной системой Windows(так как под Linux ещё проще): Качаем дистрибутив NDK, распаковываем куда либо Качаем и устанавливаем CygWin, к нему устанавливаем make версии 3.81 и Nawk. Запускаем Cygwin переходим в папку куда распаковали NDK и выполняем build/host-setup.sh NDK поставлен и готов к работе. Давайте поиграемся Первое что приходит в голову после установки NDK посмотреть и поиграться с примерами. В папке apps есть пару демо-примеров как простых так и достаточно интересных в частности из примеров стоит отметить san-angeles - демка, показывабщяя возможности OpenGl ES, правда на эмуляторе очень жутко тормозит. Для сбора 'руками' необходимо: Android SDK - в нём есть эмулятор и сопутствующие утилиты. Java SDK - набор для Java разработчика Appache Ant - это аналог make только для java Итак находясь в корневой директории NDK в консоле пишем: make APP= к примеру make APP=hello-jni тем самым компилируем исходный Си код в библиотеку динамической компоновки, далее переходим в директорию с проектом cd apps/hello-jni/project Теперь создаём файл для билда через ant. В командной строке набираем android update project -p . после этого должен появится файл build.xml, после этого запускаем ant для сборки apk, для этого в консоле пишем ant debug итак версия собрана и лежит тут project/bin/HelloJni-debug.apk Теперь устанавливаем на эмуляторе запускаем эмулятор emulator @имя_созданного_эмулятора имя_созданного_эмулятора создаётся утилитой android входящей в SDK после того как эмулятор запущен пишем: adb -e install HelloJni-debug.apk Это позволит установить наш собранный архив на эмулятор. После этого его можно будет запустить с панели приложений. Что ещё посоветую по теме: вот тут описали как портировали SDL библиотеку под adroid. Также стоит упомянуть книгу Vladimir Silva - Pro Android Games советую скачать если вы решили ознакомится с JAVA native code в android поподробнее. Эта статья не более чем вводная, так как материал очень объёмный. FOLLOW ME ON TWITTER Best regards Кульчицкий (nikolayku) Николай
Помогаете devby = помогаете ИТ-комьюнити.

Засапортить сейчас.

Читайте также
Google запустил онлайн-сертификацию для Android-разработчиков
Google запустил онлайн-сертификацию для Android-разработчиков
Google запустил онлайн-сертификацию для Android-разработчиков
Топ-7 анонсов конференции Google I/O 2016
Топ-7 анонсов конференции Google I/O 2016
Топ-7 анонсов конференции Google I/O 2016
Язык программирования Apple Swift портирован на Android
Язык программирования Apple Swift портирован на Android
Язык программирования Apple Swift портирован на Android
Большинство популярных Android-приложений отправляют данные неизвестно куда
Большинство популярных Android-приложений отправляют данные неизвестно куда
Большинство популярных Android-приложений отправляют данные неизвестно куда

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.