Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Стек Android [1]
[1] Nexus 4 , часть Google Nexus серии, линия «разработчиков» дружественных устройств [2]

Разработка программного обеспечения Android - это процесс создания приложений для устройств под управлением операционной системы Android . Google заявляет, что [3] «приложения для Android могут быть написаны с использованием языков Kotlin , Java и C ++ » с использованием комплекта для разработки программного обеспечения Android (SDK), при этом также возможно использование других языков. Все языки, не относящиеся к JVM, такие как Go , JavaScript , C , C ++ или ассемблер, нужна помощь кода языка JVM, который может быть предоставлен инструментами, вероятно, с ограниченной поддержкой API. Некоторые языки программирования и инструменты позволяют поддерживать кроссплатформенные приложения (например, для Android и iOS ). Сторонние инструменты, среды разработки и языковая поддержка также продолжали развиваться и расширяться с момента выпуска исходного SDK в 2008 году. Официальный механизм распространения приложений Android среди конечных пользователей - Google Play ; он также позволяет поэтапно выпускать приложения, а также распространять предварительные версии приложений среди тестировщиков.

Официальные инструменты разработки [ править ]

Android SDK [ править ]

Комплект для разработки программного обеспечения Android (SDK) включает полный набор инструментов разработки. [5] Сюда входят отладчик , библиотеки , эмулятор телефона на основе QEMU , документация, примеры кода и учебные пособия. В настоящее время поддерживаемые платформы разработки включают компьютеры под управлением Linux (любой современный настольный дистрибутив Linux ), Mac OS X 10.5.8 или новее и Windows 7 или новее. По состоянию на март 2015 года SDK недоступен для самого Android, но разработка программного обеспечения возможна с использованием специализированных приложений Android. [6] [7] [8]

Примерно до конца 2014 года официально поддерживаемой интегрированной средой разработки (IDE) была Eclipse с использованием подключаемого модуля Android Development Tools (ADT), хотя IntelliJ IDEA IDE (все версии) полностью поддерживает разработку Android из коробки [9] и IDE NetBeans также поддерживает разработку Android с помощью подключаемого модуля. [10] По состоянию на 2015 г., Android Studio , [11]сделано Google и работает на IntelliJ, является официальной IDE; тем не менее, разработчики могут использовать других, но Google дал понять, что ADT официально устарел с конца 2015 года, чтобы сосредоточиться на Android Studio в качестве официальной Android IDE. Кроме того, разработчики могут использовать любой текстовый редактор для редактирования файлов Java и XML, а затем использовать инструменты командной строки ( требуются Java Development Kit и Apache Ant ) для создания, сборки и отладки приложений Android, а также для управления подключенными устройствами Android (например, запускать перезагрузка, удаленная установка программных пакетов). [12] [6]

Усовершенствования SDK Android идут рука об руку с общим развитием платформы Android. SDK также поддерживает старые версии платформы Android на тот случай, если разработчики захотят настроить свои приложения на старые устройства. Инструменты разработки - это загружаемые компоненты, поэтому после загрузки последней версии и платформы можно также загрузить более старые платформы и инструменты для тестирования совместимости. [13]

Приложения Android упакованы в формат .apk и хранятся в /data/appпапке в ОС Android (папка доступна только пользователю root из соображений безопасности). Пакет APK содержит файлы .dex [14] (файлы скомпилированного байтового кода, называемые исполняемыми файлами Dalvik ), файлы ресурсов и т. Д.

Инструменты платформы Android SDK [ править ]

Android SDK Platform Tools - это отдельно загружаемое подмножество полного SDK, состоящее из таких инструментов командной строки, как adbи fastboot.

Android Debug Bridge (ADB) [ править ]

Android Debug Bridge (ADB) - это инструмент для выполнения команд на подключенном устройстве Android. В adbdдемон работает на устройстве, и adbклиент начинает фоновый сервер для мультиплексирования команд , посылаемых к устройствам. В дополнение к интерфейсу командной строки [15] существует множество графических пользовательских интерфейсов для управления adb.

Формат выдачи команд обычно:

adb [-d | -e | -s <серийный номер>] <команда>где -d - это опция для указания одного подключенного USB-устройства, -e для единственного запущенного эмулятора Android на компьютере, -s для указания устройства, подключенного к USB, по его уникальному серийному номеру.Если есть только одно подключенное устройство или запущенный эмулятор, в этих параметрах нет необходимости.

Например, приложения Android можно сохранить командой backupв файл, имя которого backup.abпо умолчанию. [16]

В проблеме безопасности, о которой было сообщено в марте 2011 года, ADB был нацелен как вектор для попытки установить руткит на подключенные телефоны с помощью «атаки на исчерпание ресурсов». [17]

Fastboot [ править ]

Fastboot - это протокол [18], и у него есть инструмент с таким же названием, включенный в пакет Android SDK , используемый в основном для изменения файловой системы флэш-памяти через USB- соединение с хост-компьютера. Это требует, чтобы устройство запускалось в режиме загрузчика или вторичного загрузчика программ , в котором выполняется только самая основная инициализация оборудования. После включения протокола на самом устройстве, оно будет принимать определенный набор команд, отправленных ему через USB с помощью командной строки. [19] Некоторые из наиболее часто используемых команд fastboot:

  • flash - перезаписывает раздел двоичным образом, хранящимся на главном компьютере.
  • erase - стирает определенный раздел.
  • reboot - перезагружает устройство либо в основную операционную систему, либо в раздел восстановления системы, либо обратно в его загрузчик.
  • устройства - отображает список всех устройств (с серийным номером), подключенных к главному компьютеру.
  • формат - форматирует определенный раздел; файловая система раздела должна распознаваться устройством.

Android NDK [ править ]

Код, написанный на C / C ++, можно скомпилировать в собственный код ARM или x86 (или их 64-битные варианты) с помощью Android Native Development Kit (NDK). NDK использует компилятор Clang для компиляции C / C ++. GCC был включен до NDK r17, но удален в r18 в 2018 году.

Собственные библиотеки можно вызывать из кода Java, работающего в среде выполнения Android, с помощью System.loadLibraryчасти стандартных классов Android Java. [22] [23]

Инструменты командной строки можно скомпилировать с NDK и установить с помощью adb. [24]

Android использует Bionic как свою библиотеку C, а LLVM libc ++ как свою стандартную библиотеку C ++ . NDK также включает множество других API: [25] сжатие zlib , графику OpenGL ES или Vulkan , аудио OpenSL ES и различные API для Android для таких вещей, как ведение журнала, доступ к камерам или ускорение нейронных сетей.

NDK включает поддержку CMake и его собственный ndk-build(на основе GNU Make ). Android Studio поддерживает запуск любого из них из Gradle. Другие сторонние инструменты позволяют интегрировать NDK в Eclipse [26] и Visual Studio. [27]

Для профилирования ЦП NDK также включает simpleperf [28], который похож на инструмент Perf для Linux , но с лучшей поддержкой Android и, в частности, смешанных стеков Java / C ++.

Комплект разработчика Android Open Accessory [ править ]

Платформа Android 3.1 (также поддерживаемая Android 2.3.4) представляет поддержку Android Open Accessory, которая позволяет внешнему USB-оборудованию (USB-аксессуар Android) взаимодействовать с устройством на базе Android в специальном «вспомогательном» режиме. Когда устройство под управлением Android находится в режиме аксессуара, подключенный аксессуар действует как хост USB (питает шину и перечисляет устройства), а устройство под управлением Android действует как устройство USB. USB-аксессуары Android специально разработаны для подключения к устройствам на базе Android и соответствуют простому протоколу (протокол аксессуаров Android), который позволяет им обнаруживать устройства на базе Android, поддерживающие режим аксессуаров. [29]

Разработка внешнего оборудования [ править ]

Средства разработок призвано помочь Android устройств взаимодействуют с выносной электроникой включает IOIO , Android Open Kit развития аксессуаров , микромостиковый , Triggertrap и т.д.

Конкурс разработчиков Android [ править ]

Конкурс Android Developer Challenge был соревнованием по поиску самого инновационного приложения для Android. Google предложил призы на общую сумму 10 миллионов долларов США , которые были распределены между ADC I и ADC II. ADC I принимал заявки со 2 января по 14 апреля 2008 г. 50 самых многообещающих работ, объявленных 12 мая 2008 г., получили награду в размере 25 000 долларов США на дальнейшее развитие. [30] [31] Он закончился в начале сентября объявлением о десяти командах, получивших по 275 000 долларов каждая, и о десяти командах, получивших по 100 000 долларов каждая. [32]

ADC II был объявлен 27 мая 2009 года. [33] Первый раунд ADC II завершился 6 октября 2009 года. [34] Победители первого раунда ADC II, составляющие 200 лучших заявок, были объявлены 5 ноября 2009 года. Голосование во втором раунде также началось в тот же день и закончилось 25 ноября. 30 ноября Google объявил победителей ADC II с SweetDreams, What the Doodle !? и WaveSecure были названы победителями конкурса. [35] [36]

Распространение на основе сообщества [ править ]

Существует сообщество энтузиастов с открытым исходным кодом, которые создают и распространяют дистрибутивы на базе Android (то есть прошивки ) с рядом настроек и дополнительных функций, таких как поддержка аудио без потерь FLAC и возможность хранить загруженные приложения на карте microSD . [37] Обычно это связано с рутированием устройства. Получение root-прав дает пользователям root-доступ к операционной системе, обеспечивая полный контроль над телефоном. У рутинга также есть несколько недостатков, в том числе повышенный риск взлома, высокая вероятность поломки , потеря гарантии, повышенный риск вирусных атак и т. Д. [38]Также есть возможность установить кастомную прошивку, хотя загрузчик устройства тоже должен быть разблокирован. Специальная прошивка позволяет пользователям старых телефонов использовать приложения, доступные только в новых версиях. [39]

Эти пакеты прошивки часто обновляются, включают в себя элементы функциональности Android, которые еще не были официально выпущены в рамках прошивки, санкционированной оператором связи, и имеют меньше ограничений. CyanogenMod и OMFGB - примеры таких прошивок.

24 сентября 2009 года Google направил моддеру Cyanogen письмо о прекращении и воздержании [40] , ссылаясь на проблемы с повторным распространением приложений Google с закрытым исходным кодом [41] в пределах кастомной прошивки. Несмотря на то, что большая часть ОС Android имеет открытый исходный код, телефоны поставляются с приложениями Google с закрытым исходным кодом для таких функций, как Google Play.и GPS-навигация. Google утверждает, что эти приложения могут быть предоставлены только через утвержденные каналы распространения лицензированными дистрибьюторами. Cyanogen выполнила лицензию Google и продолжила распространять свой мод без проприетарного программного обеспечения. Он предоставил способ резервного копирования лицензионных приложений Google в процессе установки мода и их восстановления после завершения процесса. [42]

Стандарты Java [ править ]

Препятствия на пути разработки включают тот факт, что Android не использует установленные стандарты Java, то есть Java SE и ME . Это предотвращает совместимость между приложениями Java, написанными для этих платформ, и приложениями, написанными для платформы Android. Android повторно использует синтаксис и семантику языка Java, но не предоставляет полные библиотеки классов и API, связанные с Java SE или ME. [43] Однако на рынке существует множество инструментов от таких компаний, как Myriad Group и UpOnTek, которые предоставляют услуги преобразования Java ME в Android. [44] [45] [46]

Android предоставляет свои собственные классы GUI и не предоставляет Java AWT, Swing или JavaFX. Он не поддерживает полный API Java Beans. [ необходима цитата ]

История и доля рынка [ править ]

Android был создан Open Handset Alliance , возглавляемым Google. Первые отзывы о разработке приложений для платформы Android были неоднозначными. [47] В число упомянутых проблем входят ошибки, отсутствие документации, неадекватная инфраструктура обеспечения качества и отсутствие общедоступной системы отслеживания проблем. (Google анонсировал средство отслеживания проблем 18 января 2008 г.) [48] В декабре 2007 года основатель мобильного стартапа MergeLab Адам Макбет заявил: «Функциональность отсутствует, плохо документирована или просто не работает ... Она явно не готова. в прайм-тайм ". [49] Несмотря на это, приложения, ориентированные на Android, начали появляться через неделю после анонса платформы. Первым общедоступным приложением стала игра «Змейка» . [50][51]

Предварительный выпуск Android SDK был выпущен 12 ноября 2007 года. 15 июля 2008 года команда Android Developer Challenge случайно разослала электронное письмо всем участникам Android Developer Challenge, объявляя, что новый выпуск SDK доступен в «личная» зона загрузки. Письмо предназначалось для победителей первого раунда Android Developer Challenge. Открытие того, что Google поставляет новые выпуски SDK одним разработчикам, а не другим (и сохраняет эту договоренность в тайне), вызвало в то время широко сообщаемое разочарование в сообществе разработчиков Android. [52]

18 августа 2008 г. была выпущена бета-версия Android 0.9 SDK. Этот выпуск предоставил обновленный и расширенный API, улучшенные инструменты разработки и обновленный дизайн домашнего экрана. Подробные инструкции по обновлению доступны тем, кто уже работает с более ранней версией. [53] 23 сентября 2008 г. был выпущен Android 1.0 SDK (Release 1). [54] Согласно примечаниям к выпуску, он включал «в основном исправления ошибок, хотя были добавлены некоторые более мелкие функции». Он также включает несколько изменений API по сравнению с версией 0.9. С момента его разработки было выпущено несколько версий. [55]

5 декабря 2008 года Google анонсировал первый Android Dev Phone - устройство с разблокированной SIM- картой и аппаратной разблокировкой, предназначенное для продвинутых разработчиков. Это была модифицированная версия телефона HTC Dream. Хотя разработчики могут использовать обычные потребительские устройства для тестирования и использования своих приложений, некоторые разработчики могут выбрать выделенное разблокированное устройство или устройство без контракта.

По состоянию на июль 2013 года для Android было разработано более одного миллиона приложений [56] с более чем 25 миллиардами загрузок. [57] [58] Исследование, проведенное в июне 2011 года, показало, что более 67% мобильных разработчиков использовали платформу на момент публикации. [59] По прогнозам, поставки Android-смартфонов в 2018 году превысят 1,2 миллиарда единиц с долей рынка 85%. [60]

См. Также [ править ]

  • Android Studio
  • Список бесплатных приложений Android с открытым исходным кодом
  • Получение root-прав (ОС Android)

Ссылки [ править ]

  1. ^ a b «Исходный код Android» . Источник.Android.com . Проверено 2 февраля 2017 года .
  2. Перейти ↑ Syed H (24 сентября 2012 г.). "От редакции: почему вы должны пойти на Nexus" . Уроки дроидов . Архивировано из оригинального 18 февраля 2017 года . Проверено 17 апреля 2013 года .
  3. ^ «Основы применения» . Разработчики Android .
  4. ^ «Инструменты SDK | Разработчики Android» . Developer.android.com . Проверено 25 апреля 2018 года .
  5. ^ «Обзор инструментов» . Разработчики Android . 21 июля 2009 г.
  6. ^ a b appfour. «AIDE-IDE для Android Java C ++ - Android-приложения в Google Play» . google.com .
  7. ^ gesturedevelop. "Java Editor - Android-приложения в Google Play" . google.com .
  8. ^ Tanapro GmbH, Том Арн. «JavaIDEdroid - приложения для Android в Google Play» . google.com .
  9. ^ «Разработка IntelliJ для Android» . Проверено 19 сентября 2012 года .
  10. ^ «Плагин NBAndroid» . Проверено 19 сентября 2012 года .
  11. ^ "Android Studio" .
  12. ^ Уэстфолл, Джон (25 августа 2009). «Резервное копирование и восстановление приложений Android с помощью ADB» . JonWestfall.com . Проверено 7 декабря 2009 года .
  13. ^ «Примечания к выпуску SDK Tools» . Разработчики Android .
  14. ^ «Глоссарий» . Разработчики Android .
  15. ^ "Android Debug Bridge | Android Developers", дата обращения 27 декабря 2012 г.
  16. Джек Уоллен (6 марта 2015 г.). «Как сделать полную резервную копию вашего Android устройства без рута» . Проверено 29 января 2016 года .
  17. ^ Лемос, Роберт "Уязвимости с открытым исходным кодом рисуют цель на Android"
  18. ^ «Документация по протоколу Fastboot» . android.googlesource.com . Проверено 7 июля 2019 года .
  19. ^ Ravenscraft, Эрик (13 июня 2014). «Самые полезные вещи, которые вы можете делать с ADB и Fastboot на Android» . Лайфхакер . Проверено 7 июля 2019 года .
  20. ^ a b «Android NDK | Разработчики Android» . Developer.android.com. 13 ноября 2012 . Проверено 13 марта 2014 года .
  21. ^ «Загрузки NDK | Разработчики Android» . developer.android.com . Проверено 24 апреля 2018 года .
  22. ^ Шринивас Davanum (9 декабря 2007). «Android - вызов методов на основе JNI (соединение C / C ++ и Java)» . Архивировано 16 декабря 2008 года . Проверено 13 декабря 2008 года .
  23. ^ "java.lang.System" . Разработчики Android . Проверено 3 сентября 2009 года .
  24. ^ "Android Debug Bridge (adb)" .
  25. ^ "Android NDK Native APIs | Android NDK" .
  26. ^ «Использование Eclipse для разработки Android C / C ++» . 23 января 2011 г.
  27. ^ «Использование Visual Studio для разработки собственного кода Android - Руководства по VisualGDB» .
  28. ^ "Simpleperf | Android NDK" .
  29. ^ «Комплект разработчика аксессуаров | Руководства для разработчиков Android» . Developer.android.com . Проверено 2 октября 2012 года .
  30. Чен, Джейсон (12 мая 2008 г.). «50 лучших приложений» . Блог разработчиков Android . Архивировано 25 сентября 2009 года . Проверено 4 сентября 2009 года .
  31. Браун, Эрик (13 мая 2008 г.). «Android Developer Challenge объявляет победителей первого раунда» . Linux для устройств . Архивировано из оригинального 14 мая 2008 года.
  32. ^ "Галерея ADC I Top 50" . Конкурс разработчиков Android . Проверено 19 мая 2009 года .
  33. ^ "Android Developer Challenge" . Код Google . Проверено 11 января 2008 года .
  34. Чу, Эрик (6 октября 2009 г.). «Подсчет очков 1 раунда ADC 2 завершен» . Блог разработчиков Android . Архивировано 1 ноября 2009 года . Проверено 3 ноября 2009 года .
  35. ^ «Победители ADC 2» . Конкурс разработчиков Android . Архивировано 4 января 2011 года . Проверено 5 декабря 2010 года .
  36. ^ Kharif, Ольга (30 ноября 2009). «Объявлены победители конкурса Android Developer Challenge 2» . BusinessWeek . Проверено 5 декабря 2010 года .
  37. ^ «Мечта о разработке Android» . форум xda-developers . Проверено 11 сентября 2009 года .
  38. ^ «Укоренение: преимущества и недостатки» . Форум ITCSE . Архивировано из оригинального 29 ноября 2014 года . Проверено 21 сентября 2013 года .
  39. ^ «Android 2.1 от Motorola Droid, перенесенный на G1» . Volt Mobile . 10 марта 2010 года Архивировано из оригинального 31 мая 2011 года . Проверено 13 мая 2011 года .
  40. ^ Wimberly, Тейлор (24 сентября 2009). "CyanogenMod в беде?" . Андроид и я . Архивировано 3 октября 2009 года . Проверено 26 сентября 2009 года .
  41. Перейти ↑ Morrill, Dan (25 сентября 2009 г.). «Примечание о Google Apps для Android» . Блог разработчиков Android . Архивировано 25 октября 2009 года . Проверено 26 сентября 2009 года .
  42. ^ «Текущее состояние ...» CyanogenMod Android ROM . 27 сентября 2009 года архивации с оригинала на 3 ноября 2009 года . Проверено 27 сентября 2009 года .
  43. ^ Ван Гурп, Jilles (13 ноября 2007). «Google Android: первые впечатления и критика» . Javalobby . Проверено 7 марта 2009 года . Честно говоря, я не понимаю, почему Google намеревается игнорировать огромное количество существующих реализаций. Мне это кажется плохим случаем «изобретено не здесь». В конечном итоге это замедлит принятие. Для мобильного мира уже существует слишком много платформ Java, и это еще одна
  44. ^ "Новый конвертер J2Android от Myriad способствует золотой лихорадке приложений Android" . 19 марта 2010 года в архив с оригинала на 4 июля 2011 года . Проверено 13 мая 2011 года .
  45. ^ Fruhlinger, Джош (23 марта 2010). «J2Android надеется, что вы не знаете, что Android основан на Java» . JavaWorld . Проверено 13 июля 2020 . С другой стороны, вы можете подумать, что это своего рода афера, нацеленная на разработчиков, которые действительно не понимают природу платформы, на которую они нацелены. Моя самая большая жалоба заключается в том, что вы могли бы подумать, что Микаэль Рикнес, репортер службы новостей IDG, который написал первую статью, упомянутую выше (которая работает в той же компании, которая издает JavaWorld), хотя бы упомянул связь между Java и Android с проясните странность этого объявления.
  46. ^ Fruhlinger, Джош (31 марта 2010). «Мириады технических директоров: J2Android перемещает мидлеты на« красивую »платформу Android» . JavaWorld . Проверено 13 июля 2020 . Придется подождать и посмотреть, сколько на самом деле пикап видит J2Android. Инструмент еще не доступен на открытом рынке; Хотя Шиллингс оптимистично говорил о «преобразовании 1000 мидлетов за полдень», в настоящее время они работают с несколькими поставщиками над преобразованием своих бэк-каталогов. Так что тем из вас, кто надеется избежать обучения написанию кода для Android, возможно, придется немного подождать.
  47. Пол, Райан (19 декабря 2007 г.). «Разработка приложений для Google Android: неоднозначная ситуация» . Ars Technica . Архивировано 20 декабря 2007 года . Проверено 19 декабря 2007 года .
  48. Моррилл, Дэн (18 января 2008 г.). «Совершенство нельзя торопить, но теперь вы можете исправить его» . Блог разработчиков Android . Проверено 3 сентября 2009 года .
  49. Моррисон, Скотт (19 декабря 2007 г.). «Сбои в программном обеспечении Google для Android» . The Wall Street Journal . Проверено 19 декабря 2007 года .
  50. ^ "Змея" . Каталог бесплатных программ для Android . Проверено 26 января 2008 года .
  51. ^ «Первое приложение для Android - Змейка» . Mobiles2day . 14 ноября, 2007. Архивировано из оригинального по 11 мая 2008 года . Проверено 7 января 2008 года .
  52. ^ Metz, Кейд (14 июля 2008). «Google играет в прятки с Android SDK» . Реестр . Архивировано 6 октября 2008 года . Проверено 23 октября 2008 года .
  53. ^ «Android - проект Open Handset Alliance: обновление SDK» . Архивировано из оригинального 13 сентября 2008 года . Проверено 24 октября 2008 года .
  54. ^ «Другие выпуски SDK» . Разработчики Android . Проверено 2 сентября 2009 года .
  55. ^ "Архивы SDK" . Разработчики Android .
  56. ^ "Google Play показывает 1 миллион приложений" . Mashable . 24 июля 2013 г.
  57. ^ «Статистика приложений для Android» . Архивировано из оригинального 2 - го января 2011 года . Проверено 31 декабря 2010 года .
  58. ^ Лииной Рао (14 апреля 2011). «Google: установлено 3 миллиарда приложений для Android; количество скачиваний увеличилось на 50 процентов по сравнению с предыдущим кварталом» . Techcrunch . Архивировано 25 апреля 2011 года . Проверено 13 мая 2011 года .
  59. ^ «Экономика разработчиков 2011» . Архивировано из оригинального 29 сентября 2013 года . Проверено 8 июля 2011 года .
  60. ^ «По данным IDC, объемы продаж смартфонов во всем мире останутся на низком уровне в 2018 году, прежде чем вернутся к росту в 2019 году и в дальнейшем» . idc.com . 30 мая 2018 года . Проверено 6 июня 2018 года .

Библиография [ править ]

  • Эд, Бернетт (13 июля 2010 г.). Здравствуйте, Android: знакомство с платформой мобильной разработки Google (3-е изд.). Прагматическая книжная полка . ISBN 978-1-934356-56-2.
  • Аблсон, Фрэнк; Сен, Роби; Кинг, Крис (январь 2011 г.). Android в действии, второе издание (2-е изд.). Мэннинг . ISBN 978-1-935182-72-6.
  • Кондер, Шейн; Дарси, Лорен (24 июля 2012 г.). Разработка беспроводных приложений для Android, том II: Дополнительные темы (3-е изд.) Эддисон-Уэсли Профессионал . ISBN 978-0-321-81384-8.
  • Мерфи, Марк (26 июня 2009 г.). Начиная с Android (1-е изд.). Апресс . ISBN 978-1-4302-2419-8.
  • Мейер, Рето (март 2010 г.). Профессиональная разработка приложений для Android 2 (1-е изд.). Wrox Press . ISBN 978-0-470-56552-0.
  • Хасеман, Крис (21 июля 2008 г.). Android Essentials (1-е изд.). Апресс . ISBN 978-1-4302-1064-1.
  • Клифтон, Ян (3 августа 2012 г.). Основы разработки приложений для Android LiveLessons (обучающее видео) (1-е изд.). Эддисон-Уэсли Профессионал . ISBN 978-0-13-299658-7.