p.s.
Начиная с его первого выпуска в 2008, Android стал самой большой мобильной платформой в мире. Общее количество приложений в Google Play, как ожидают, достигнет 1,000,000 в середине 2013. Большинство приложений для Android написано на языке Java с использованием комплекта разработчика Android Software Development Kit(SDK; комплект разработчика программного обеспечения для Android). Много разработчиков пишут код для Android только на языке Java даже при том, что они имеют опыт разработки на языке C/C++, не понимая того, какой мощный инструмент они бросают.
Android Native Development Kit(NDK; комплект разработчика низкоуровневого кода для Android) был выпущен в 2009 году для помощи разработчикам в написании и портировании низкоуровневого кода. Он предлагает набор инструментов кросс-компиляции и несколько библиотек. Программирование с «помощью NDK предлагает два основных преимущества. Во-первых, можно оптимизировать свои приложения в низкоуровневом коде и повысить производительность. Во-вторых, можно повторно использовать большое количество существующего кода на языке C/C++. Комплект разработчика Android Native Development Kit - практическое руководство для помощи вам в написании низкоуровневого кода для Android с использованием NDK. Мы начнем с основ, таких как Java Native Interface(JNI; API взаимодействия между кодом на языке Java и низкоуровневым кодом на языке C/C++), и создадим и отладим низкоуровневое приложение(главы 1 - 3). Затем мы исследуем различные библиотеки, предоставленные NDK, включая OpenGL ES, Native Application API, OpenSL ES, OpenMAX AL и т.д.(главы 4 - 7). После этого мы обсудим портирование с использованием NDK существующих приложений и библиотек на платформу Android(главы 8 и 9). Наконец, мы продемонстрируем, как написать с использованием NDK мультимедийные приложения и игры (бонусные главы 1 и 2).
Книга написана для любого, кто интересуется написанием низкоуровневого кода для Android. Главы относительно независимы и они расположены в порядке возрастания уровня сложности материала: базовый, средний и продвинутый. Читателям, новичкам в NDK, рекомендуем читать книгу с начала до конца, в то время как читатели, знакомые с NDK, могут выбрать для чтения любые конкретные главы или даже конкретные рецепты.
Глава 1 "Привет NDK" рассматривает как установить и настроить среду разработки Android NDK в ОС Windows, ОС Linux и ОС MacOS. В конце главы мы напишем приложение "Привет NDK".
Глава 2 "Java Native Interface" подробно описывает использование JNI (API взаимодействия между кодом на языке Java и низкоуровневым кодом на языке C/C++). Мы вызовем низкоуровневые методы из Java-кода и наоборот.
Глава 3 "Построение и отладка NDK-приложения" демонстрирует построение низкоуровневого кода из командной строки и интегрированной среды разработки IDE-среды разработки Eclipse. Мы также рассмотрим отладку низкоуровневого кода с помощью инструментов отладки gdb, cgdb, eclipse и т.д.
Глава 4 "Android NDK API ES OpenGL" иллюстрирует API: OpenGL ES 1.x и OpenGL ES 2.0. Мы рассмотрим 2D-рисование, 3D-графику, наложение текстур, EGL и т.д.
Глава 5 "API в Android Native Application" обсуждает низкоуровневые API приложений для Android, включая управление низкоуровневыми окнами, доступ к датчикам, обработка событий ввода, управление активами и т.д. В этой главе мы увидим, как написать чистое низкоуровневое приложение.
Глава 6 "Многопоточность в Android NDK" описывает API многопоточности в Android. Мы раскроем создание и завершение низкоуровневых потоков, различные методы синхронизации потоков(мьютексы, условные переменные, семафоры и блокировка чтения/записи), планирование потоков и управление многопотоковыми данными.
Глава 7 "Другие API Android NDK" обсуждает еще несколько Android-библиотек, включая jnigraphics, библиотеку динамической компоновки, библиотеку сжатия zlib, библиотеку OpenSL ES и библиотеку OpenMAX AL.
Глава 8 "Портирование и использование существующих библиотек с Android NDK" описывает различные методы портирования и использования общедоступных библиотек C/C++ с помощью NDK. В конце главы мы портируем библиотеку boost.
Глава 9 "Портирование существующих приложений в Android с помощью Android NDK" предоставляет пошаговое руководство для портирования общедоступного Android-приложения с помощью Android NDK. В качестве примера мы используем программу изменения размеров изображения, распространяемую с открытым исходным кодом.
Бонусная глава 1 "Разработка мультимедийного приложения с помощью Android NDK" демонстрирует, как написать мультимедийные приложения с использованием библиотеки ffmpeg. Мы портируем библиотеку ffmpeg и будем использовать API из этой библиотеки для написания приложения захвата изображения.
Бонусная глава 2 "Разработка игр с помощью Android NDK" обсуждает написание игр с помощью Android NDK. Мы портируем игру Wolfenstein 3D, чтобы показать, как установить дисплей игры, добавить консоль управления игрой и включить звуковые эффекты для игры.
Для примеров книги нужна ПЭВМ с ОС Windows, ОС Ubuntu Linux или ОС Mac OS, (предпочтительны Linux или Mac OS). Несмотря на то, что мы можем выполнить приложения для Android на эмуляторе, это выполнение медленно и неэффективно для разработки Android. Поэтому, рекомендуется иметь устройство на базе Android. Книга предполагает понимание основ языков программирования C++ и C. Вы должны также быть знакомы с Java и Android SDK. Обратите внимание на то, что примеры кода этой книги базируются на Android ndk r8, если не указано иное, так как это - последняя версия NDK во время написания книги. К тому времени, когда книга опубликована, должны быть более новые версии. Код должен также работать на любых более новых версиях. Поэтому мы можем установить NDK r8 или более новый.
Нет.
Нет.