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

Стек 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). [9] В 2015 году, Android - студия , [10] является официальной IDE; тем не менее, разработчики могут использовать другие, но Google дал понять, что ADT официально не рекомендуется с конца 2015 года, чтобы сосредоточиться на Android Studio в качестве официальной Android IDE. Кроме того, разработчики могут использовать любой текстовый редактор для редактирования файлов Java и XML, а затем использовать инструменты командной строки ( Java Development Kit и Apache Antнеобходимы) для создания, сборки и отладки приложений Android, а также для управления подключенными устройствами Android (например, запуск перезагрузки, удаленная установка пакетов программного обеспечения). [11] [6]

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

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

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

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

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

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

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

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

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

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

Fastboot [ править ]

Fastboot - это протокол [17], и у него есть инструмент с таким же названием, включенный в пакет Android SDK , используемый в основном для изменения файловой системы флэш-памяти через USB- соединение с хост-компьютера. Для этого требуется, чтобы устройство было запущено в режиме загрузчика или вторичного загрузчика программ , в котором выполняется только самая основная инициализация оборудования. После включения протокола на самом устройстве оно будет принимать определенный набор команд, отправленных ему через USB с помощью командной строки. [18] Вот некоторые из наиболее часто используемых команд 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. [21] [22]

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

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

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

Для профилирования ЦП NDK также включает simpleperf [27], который похож на инструмент 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, поддерживающие режим аксессуаров. [28]

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

Инструменты разработки, призванные помочь устройству Android взаимодействовать с внешней электроникой, включают IOIO , Android Open Accessory Development Kit , Microbridge , Triggertrap и т. Д.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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