суббота, 15 октября 2011 г.

Как написать программу на C++ для Android.
Часть 1: настраиваем среду разработки.

Часть 1 | Часть 2 | Часть 3 | Часть 4 | Часть 5 (Mac OS)

Google Developers Day, который я анонсировал, завершился. Несмотря на то, что доклады оставляли желать лучшего (в отличии от прошлого года), на Android секции было столько народу, что приходилось сидеть в проходах. Это говорит о том, что существует немалый интерес к этой теме. Видео с докладами обещали выложить на YouTube, но так и не выложили.

Все это совпало с выходом Ubuntu 11.10, которую хотелось посмотреть. Итогом стала идея написать несколько статей на тему разработки на C++ под Android. В этой части, надеюсь, не последней, я опишу как с нуля настроить окружение для разработки. Любителям Windows могу сообщить, что там процесс настройки среды разработки очень похож и местами даже проще, а уж код и вовсе не будет отличаться.

Итак, устанавливаем Ubuntu 11.10:


Хочу заменить, что несмотря на то, что данная серия статей начата в 2011 году, все статьи серии актуальны и в 2016 году. Android Studio только анонсирует поддержку NDK в экспериментальном варианте, поэтому разумных альтернатив Eclipse пока нет. Что касается Ubuntu, то более новые версии этой ОС не имеют отличий по рассматриваемой теме.

Интересно, что установщик может копировать файлы, параллельно задавая вопросы пользователю: часовой пояс, имя пользователя и раскладка клавиатуры. Это почти все вопросы, которые задаются при установке. Система ставится просто и быстро.

После установки получаем симпатичный экран входа:


Система установлена. Далее нужно установить среду разработки Eclipse. Это можно сделать через центр установки приложений или через консоль (сразу ставим с поддержкой C++):
sudo apt-get install eclipse-cdt
Все зависимости, вроде Java, ставятся автоматически:


Параллельно можно начать закачку Android SDK и Android NDK. Распаковываем их, например, в ~/Android/.

Запускаем Eclipse. Тут нам нужно первым делом установить ADT Plugin. Для этого заходим в меню Help > Install New Software. Замечу, что при чистой установке Eclipse почему-то не прописан ни один путь к пакетам. Поэтому его там же нужно указать, чтобы автоматически установились все зависимости для ADT Plugin. Жмем кнопку Add и добавляем источник http://download.eclipse.org/releases/indigo/. И, да, в Ubuntu 11.10 идет версия Indigo.

Далее добавляем источник https://dl-ssl.google.com/android/eclipse/.


Совсем подробно про установку ADT Plugin можно почитать на сайте developer.android.com. После установки ADT Plugin предлагается перезапуск Eclipse. Перезапускаем.

Заходим в меню Window > Preferences, чтобы указать путь к Android SDK, который мы уже скачали и распаковали ранее:


После этого идем в меню Window > Android SDK and AVD Manager и устанавливаем поддержку необходимой нам платформы. Я выбрал Android 2.2, т.к. ОС именно этой версии стоит на моем телефоне:


Ещё нам понадобится пакет Sequoyah Android Native Code Support, который упростит работу с C++ в Android:


После установки указываем путь к NDK:


Далее можно подключить устройство. Чтобы оно определилось в Ubuntu, пользователь с правами администратора (root) должен создать файл /etc/udev/rules.d/51-android.rules и добавить в него строку вида:
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
idVendor для вашего устройства можно выбрать из списка.

После создания файла делаем его исполняемым:
sudo chmod a+r /etc/udev/rules.d/51-android.rules

Если устройство подключено, то можно убедиться, что система его видит:


Итак, все готово, чтобы написать первую программу под Android на C++.

Продолжение следует...

Книги по теме:

Комментировать в ВКонтакте