Разработка программного обеспечения для Android

Разрабо́тка програ́ммного обеспе́чения для Android — процесс создания мобильных приложений для устройств, работающих под управлением операционной системы Android. Для разработки приложений Android используется официальный комплект разработчика программного обеспечения Android — Android SDK, который обеспечивает разработку на языках Kotlin, Java и C++[3]. С помощью Android Native Development Kit (NDK) можно реализовать отдельные компоненты приложения на языках низкого уровня, таких как C или C++[4]. Некоторые языки программирования и инструменты позволяют создавать кроссплатформенные приложения для различных операционных систем. С момента выпуска первого SDK в 2008 году возникло множество сторонних инструментов, сред разработки и поддерживаемых языков.

undefined
undefined
Общие сведения
Android SDK
Тип SDK
Разработчик Google
Написана на Java
Операционная система платформенно-независимая
Первый выпуск октябрь 2009
Последняя версия 26.1.1 / сентябрь 2017[5]
Лицензия Android Open Source Project
Сайт developer.android.com/sdk
Android NDK
Тип Software Development Kit
Разработчик Google
Написана на C, C++
Операционные системы x86-64 (Windows, macOS и Linux)[23]
Первый выпуск июнь 2009[24]
Последняя версия r21d[24] (июнь 2020)
Лицензия Android Open Source Project
Сайт developer.android.com/ndk

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

Android SDK

Комплект разработчика Android SDK включает множество инструментов для программирования[6]. В его состав входят отладчик, библиотеки, эмулятор смартфона на базе QEMU, документация, примеры кода и учебные пособия. Официально поддерживаемыми платформами для разработки в настоящее время являются современные дистрибутивы GNU/Linux, macOS (не ниже 10.10), Windows (не ниже 7) и ChromeOS[7]. С марта 2015 года SDK не распространяется для самой ОС Android, однако программировать можно и на специальных приложениях для Android[8][9][10].

До конца 2014 года официальной интегрированной среды разработки (IDE) была Eclipse с плагином Android Development Tools (ADT). С 2015 года официальной IDE стал Android Studio (на базе Community Edition IntelliJ IDEA)[11][12]. Также возможно использовать другие IDE, однако ADT считается устаревшим с конца 2015 года, развитие его прекращено в пользу Android Studio. Например, NetBeans поддерживает разработку Android-приложений через плагин[13]. Кроме IDE, можно писать код в любом текстовом редакторе и собирать проекты с помощью командных инструментов — необходимы Java Development Kit и Apache Ant. Эти средства также позволяют управлять устройством: запускать перезагрузку, устанавливать приложения и др[8][14].

Развитие Android SDK сопровождает развитие платформы Android в целом. SDK поддерживает разработку для старых версий Android, что позволяет ориентироваться на устаревшие устройства. Компоненты SDK доступны для скачивания отдельно, что облегчает тестирование на разных версиях платформы[15].

Android-приложения распространяются в формате .apk, который преимущественно хранится в каталоге /data/app (доступен только для root-пользователя)[16].

Android SDK Platform Tools

Android SDK Platform Tools — отдельный поднабор SDK, главным образом представляющий собой консольные инструменты, такие как ADB и Fastboot[17].

Android Debug Bridge (ADB)

Android Debug Bridge (ADB) — инструмент для выполнения команд на подключённом Android-устройстве. На устройстве запущен демон adbd, а клиент adb стартует фоновый сервер для доставки команд к устройствам[18]. Помимо командной строки, существуют графические интерфейсы для работы с ADB, в том числе реализованные как веб-приложения.

Команда запускается чаще всего так:[18]

adb [-d|-e|-s <серийный номер>] <команда>
где -d — пересылка команды на единственное USB-устройство,
     -e — пересылка на единственный эмулятор,
     -s <серийный номер> — выбор устройства по его идентификатору.

Если подключено только одно устройство или эмулятор, флаги не обязательны.

Также с помощью команды backup можно сохранить приложение в файл с именем по умолчанию backup.ab[19].

Fastboot

Fastboot — протокол из пакета SDK, предназначенный главным образом для модификации флэш- файловых систем устройства через USB, например для установки пользовательского рекавери[20]. Необходимо, чтобы устройство было загружено в режиме загрузчика (bootloader), обеспечивающем только базовую инициализацию аппаратуры. После активации протокола устройство начинает слушать определённый набор команд по USB с компьютера. К числу популярных fastboot-команд относятся:[21][22]

  • flash — прошивка раздела из образа на ПК;
  • erase — очистка раздела;
  • reboot — перезагрузка устройства (в основную ОС, рекавери или загрузчик);
  • devices — список подключённых устройств с серийными номерами;
  • format — форматирование раздела; файловая система должна поддерживаться устройством.

Android NDK

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

Вызовы нативных библиотек в Java-программе, выполняющейся под Android Runtime, осуществляются через System.loadLibrary[28][29].

Консольные программы также можно собрать с помощью NDK и установить через ADB[18].

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

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

Для профилирования процессорного времени NDK включает simpleperf, аналогичный Linux perf, но лучше предназначенный для Android и смешанных стеков Java/C++[33].

Android Open Accessory Development Kit

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

Разработка с внешним оборудованием

Инструменты, упрощающие взаимодействие Android-устройств с внешней электроникой — это IOIO, Android Open Accessory, Microbridge и Triggertrap.

Сторонние инструменты разработки

AIDE

AIDE — приложение для Android, позволяющее разрабатывать приложения непосредственно на смартфоне. Оно компилирует и устанавливает созданную программу на этом же устройстве[35].

Android::Build

Android::Build — Perl-модуль, позволяющий собирать .apk-файл Android при помощи только базовых командных средств (aapt, dx, javac, jarsigner, zipalign) без Apache Ant или Gradle. Такой минимализм облегчает автоматическую генерацию и тестирование при rolling-release-разработке[36].

App Inventor for Android

12 июля 2010 года Google представила App Inventor for Android — онлайн-среду визуальной разработки для начинающих, основанную на библиотеке Open Blocks от MIT. Она обеспечивает доступ к GPS, акселерометру, телефонной функциональности и ряду сервисов[37]. По словам Хэла Абельсона, руководителя проекта в MIT, такая платформа стала возможной только благодаря открытости архитектуры Android[38]. Этот инструмент используется в университетах Гарварда, MIT, Wellesley, Trinity College (Хартфорд) и Университете Сан-Франциско — как для студентов, так и для не-программистов[39][40].

Во второй половине 2011 года Google открыла исходный код среды, завершила работу своего онлайн-сервиса и профинансировала MIT Center for Mobile Learning, занимающийся дальнейшим развитием инструмента[41]. Совместная версия Google и MIT вышла в феврале 2012 года, а первая полностью «MIT-only» редакция — в марте того же года[42], и в декабре 2013 обновилась до App Inventor 2[43]. С 2014 года App Inventor поддерживается и развивается в MIT.

B4A

B4A — бесплатная среда разработки из семейства B4X, вдохновлённая Microsoft Visual Basic 6 и Visual Studio. Она облегчает программирование на Android для тех, кому трудна работа с Java[44].

Coreliu

Coreliu предназначен для создания интерактивных обучающих приложений, которые работают нативно на Android-устройствах[45]. Для описания визуальных и аудиоматериалов автор использует разметку в репозитории GitHub, а озвучка генерируется с помощью Amazon Polly. Итоговая сборка — APK-файл со свободной лицензией Creative Commons.

Solar2D

Solar2D (до 2020 года — Corona SDK) — SDK, созданный Уолтером Лухом, основателем Corona Labs Inc., для кроссплатформенной разработки мобильных приложений под iOS и Android[46]. SDK позволяет писать графические приложения на встроенном языке Lua, использующем C++/OpenGL. С 2020 года распространяется по лицензии MIT.

Delphi

Delphi поддерживает создание Android-приложений на языке Object Pascal. Актуальная редакция — Delphi 10.3.2 Rio от Embarcadero Technologies[47]. Для UI применяется фреймворк Firemonkey, имеются кроссплатформенные компоненты для доступа к сенсорам, событиям ввода, Bluetooth и др. Компилятор построен на LLVM, а отладка возможна прямо из IDE. Создаваемые приложения используют NDK, но среда исполнения компилируется в саму программу. С помощью Java Bridge и jаr-библиотек доступны почти любые Android API.

DroidScript

DroidScript — инструмент для быстрой разработки приложений (Rapid Application Development) на Android с использованием JavaScript. Код можно писать на самом устройстве или через браузерную IDE по Wi-Fi. Используется V8-движок от Google[48].

Golang

С версии 1.4 язык Go поддерживает написание приложений для Android. С релиза 1.7 и инструментом gomobile (gomobile build) возможна кроссплатформенная компиляция APK для Android и приложений для iOS из одного кода. По сути, всегда используется немного Java-кода (или Objective-C для iOS), который minimalen. Go-API ограничены, но поддерживаются OpenAL, OpenGL ES 2 для графики/игр[49][50].

HyperNext Android Creator

HyperNext Android Creator (HAC) — простая система разработки для новичков, позволяющая создавать Android-приложения без знания Java и Android SDK[51]. Язык HyperNext похож на английский и базируется на HyperTalk из HyperCard. HAC поддерживает постепенное расширение части Android SDK, имеет собственный фоновой сервис для поддержки приложений.

Kivy

Kivy — свободная библиотека Python для разработки мультитач-приложений с «натуральным» пользовательским интерфейсом (NUI) для разных платформ[52]. Ключевой тезис Kivy — единая кодовая база для всех платформ («Code once, run everywhere»). Для сборки Android-версий предусмотрен инструмент Buildozer (доступен только под Linux)[53]. Buildozer находится в статусе альфа, но более удобен, чем предыдущие инструменты. Kivy-аппы можно выкладывать на любые платформы распространения Android-приложений.

Lazarus

Среда Lazarus позволяет разрабатывать приложения для Android на Object Pascal (и иных диалектах Pascal), начиная с версии Free Pascal 2.7.1[54].

Processing

Processing поддерживает Android-мод с версии 1.5[55]. Для доступа к камере и сенсорам используется библиотека Ketai[56].

Qt for Android

Qt for Android позволяет запускать Qt 5-приложения на устройствах с Android 2.3.3 (API Level 10) и выше[57]. Qt — кроссплатформенное программное средство, поддерживающее Android, Linux, iOS, Sailfish OS и Windows. Для написания приложений используются C++ и QML; необходимы Android NDK и Android SDK[58]. Qt Creator — интегрированная среда разработки для этих целей.

RubyMotion

RubyMotion — инструментальная цепочка для разработки нативных мобильных приложений на Ruby. С версии 3.0 поддерживает Android, приложения компилируются в машинный код, доступны все Java-API[59].

SDL

Библиотека SDL позволяет разрабатывать приложения для Android с помощью C и компилировать существующие SDL-/C-проекты. Это достигается путём внедрения Java-Shim и использования JNI[60], что, в частности, было применено для порта игры Jagged Alliance 2.

Visual Studio Emulator for Android

Microsoft в 2015 году выпустила бесплатный эмулятор, Visual Studio Emulator for Android[61]. Он поддерживает установку Google Play методом drag-and-drop[62]. Может использоваться совместно с Visual Studio, позволяя разрабатывать кроссплатформенные проекты на C++, с поддержкой IntelliSense, точек останова, развёртывания и эмуляции[63].

Xamarin

Используя общую кодовую базу на C#, Xamarin позволяет разрабатывать нативные приложения под iOS, Android и Windows с обменом кода между платформами[64].

Android Developer Challenge

Android Developer Challenge (ADC) — конкурс (ADC I и ADC II), организованный для поиска инновационных приложений для Android. Google выделила призовой фонд 10 миллионов долларов между двумя этапами. ADC I принимал заявки с 2 января по 14 апреля 2008 года; 50 лучших проектов, объявленных 12 мая, получили по 25 тыс. долларов на дальнейшее развитие[65][66]. Финалисты получили гранты в 275 000 и 100 000 долларов[67].

О запуске ADC II было объявлено 27 мая 2009 года[68]. Вторая волна закончилась 6 октября[69]. Победители и 200 лучших приложений объявлены 5 ноября 2009 года; итоговые итоги — 30 ноября. Среди финалистов — SweetDreams, What the Doodle!?, WaveSecure[70].

Сообщество кастомных сборок

Сообщество энтузиастов создало множество кастомных (альтернативных) Android-дистрибуций (прошивка устройств), дополняющих стандартную функциональность новыми возможностями (например, поддержка FLAC, установка приложений на SD-карту и др.)[71]. Для этого часто требуется получение прав root, что даёт полный доступ, но связано с рисками: возможностью превратить устройство в «кирпич», потерей гарантии, повышением уязвимости и т. д[72]. Кастомная прошивка позволяет использовать новейшие версии Android на старых устройствах вместо официально неподдерживаемых OEM.

Любительские прошивки обычно обновляются чаще, включают более свежие функции, иногда менее ограничены по функционалу. Классический пример — LineageOS.

24 сентября 2009 года Google направила юристу Cyanogen уведомление о нарушении авторских прав[73], указывая на присутствие закрытых Google-аппликаций в составе CyanogenMod[74]. Несмотря на открытость Android, многие сервисы Google (Play, GPS-навигация) поставляются как закрытые приложения и распространяются только через лицензированных реселлеров. В ответ Cyanogen удалил их из состава своих ROM, а также предложил способ резервного копирования и восстановления Google-приложений при установке[75].

Java-совместимость

Одной из преград для разработки служит несовместимость Android с традиционными Java SE и ME. Это не даёт запускать и переносить Java-приложения с других платформ — Android использует только синтаксис и часть семантики Java, но не реализует полные классы и API из Java SE/ME[76]. Для миграции используются специальные инструменты (например, Myriad Group, UpOnTek предоставляют сервисы конверсии Java ME → Android)[77][78].

Android предлагает собственные классы GUI и не поддерживает AWT, Swing, JavaFX, а также не реализует полную JavaBeans API.

История и рыночная доля

Android был представлен Open Handset Alliance, возглавляемым Google[79]. Ранние отзывы разработчиков были неоднозначными: отмечались баги, нехватка документации, слабая инфраструктура тестирования и отсутствие публичного issue tracker (Google пообещала исправить это в январе 2008)[80]. В декабре 2007 года Адам МакБет (MergeLab) отмечал: «Функции отсутствуют или задокументированы плохо, или попросту не работают…»[81]. Тем не менее, уже через неделю после анонса Android начали появляться первые приложения — первым стала публично выложенная игра Snake[82][83].

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

18 августа 2008 вышла бета Android 0.9 SDK с обновлённой API, улучшенными средствами разработки и новым дизайном домашнего экрана[85]. Финальная версия 1.0 SDK появилась 23 сентября 2008[86].

5 декабря 2008 года Google анонсировала Android Dev Phone — телефон без блокировок, предназначенный для разработчиков (на базе HTC Dream). Такие устройства позволяют тестировать и запускать свои приложения без ограничений[87].

К июлю 2013 было создано свыше миллиона Android-приложений, число загрузок превысило 25 миллиардов[88][89][90]. В июне 2011, по данным отчёта, более 67 % разработчиков мобильных приложений выбирали Android[91]. К 2018 году Android-смартфоны занимали более 85 % рынка (1,2 млрд устройств)[92].

Примечания

  1. Set up for Android Development (англ.). Android Open Source Project. Дата обращения: 11 июля 2019. Архивировано 31 декабря 2017 года.
  2. Syed H. Editorial: Why You Should Go Nexus (амер. англ.). Droid Lessons (24 сентября 2012). Дата обращения: 11 июля 2019. Архивировано 18 февраля 2017 года.
  3. Application Fundamentals (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 2 октября 2025 года.
  4. Android NDK (англ.). Android Developers. Дата обращения: 3 июля 2019. Архивировано 12 ноября 2025 года.
  5. SDK Tools release notes (англ.). Android Developers. Дата обращения: 3 июля 2019. Архивировано 23 июня 2012 года.
  6. Command line tools (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 19 июля 2018 года.
  7. Download Android Studio and SDK tools (англ.). Android Developers. Дата обращения: 3 июля 2019. Архивировано 26 апреля 2018 года.
  8. 1 2 AIDE- IDE for Android Java C++ – Apps bei Google Play (нем.). Google Play. Дата обращения: 3 июля 2019.
  9. Java Editor – Apps bei Google Play (нем.). Google Play. Дата обращения: 3 июля 2019.
  10. Tanapro JavaIDEdroid – Apps bei Google Play (нем.). Google Play. Дата обращения: 3 июля 2019.
  11. heise online. Android Studio ist nun offizielle Android-Entwicklungsumgebung (нем.). heise.de. Дата обращения: 11 июля 2019. Архивировано 10 декабря 2014 года.
  12. An update on Eclipse Android Developer Tools (англ.). Android Developers Blog. Дата обращения: 11 июля 2019. Архивировано 30 сентября 2025 года.
  13. NBAndroid – NetBeans Plugin detail (англ.). Дата обращения: 11 июля 2019. Архивировано 17 октября 2018 года.
  14. Backup & Restore Android Apps Using ADB (англ.). JonWestfall.com (25 августа 2009). Дата обращения: 3 июля 2019. Архивировано 10 сентября 2025 года.
  15. SDK Tools release notes (англ.). Android Developers. Дата обращения: 3 июля 2019. Архивировано 3 июня 2018 года.
  16. Where does Android store apps on my device? (англ.). FileInfo. Дата обращения: 11 июля 2019. Архивировано 5 октября 2025 года.
  17. SDK Platform Tools release notes (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 12 мая 2018 года.
  18. 1 2 3 Android Debug Bridge (adb) (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 26 апреля 2018 года.
  19. Jack Wallen. How to create a full backup of your Android device without root (англ.). TechRepublic. Дата обращения: 11 июля 2019. Архивировано 18 июля 2025 года.
  20. fastboot/README.md. Android Open Source Project. Дата обращения: 11 июля 2019. Архивировано 25 мая 2025 года.
  21. Eric Ravenscraft. The Most Useful Things You Can Do with ADB and Fastboot on Android (амер. англ.). Lifehacker. Дата обращения: 11 июля 2019. Архивировано 22 сентября 2025 года.
  22. fastboot › Wiki › ubuntuusers.de. ubuntuusers.de. Дата обращения: 11 июля 2019. Архивировано 8 декабря 2024 года.
  23. NDK Downloads (англ.). Android Developers. Дата обращения: 4 июля 2019. Архивировано 8 октября 2025 года.
  24. 1 2 NDK Revision History (англ.). Android Developers. Дата обращения: 4 июля 2019. Архивировано 30 апреля 2018 года.
  25. Using the NDK with other build systems (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 15 ноября 2025 года.
  26. The Android Native Development Kit. Contribute to android-ndk/ndk development by creating an account on GitHub (англ.). android-ndk (11 июля 2019). Дата обращения: 11 июля 2019. Архивировано 11 июня 2018 года.
  27. Google: Android verzichtet auf GCC für native Apps – Golem.de (неопр.). golem.de. Дата обращения: 11 июля 2019. Архивировано 23 декабря 2015 года.
  28. Android – Invoke JNI based methods (Bridging C/C++ and Java) (англ.) (9 декабря 2007). Дата обращения: 24 января 2023. Архивировано 9 сентября 2025 года.
  29. System (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 10 октября 2025 года.
  30. Android NDK Native APIs (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 8 октября 2025 года.
  31. MartinH. Using Eclipse for Android C/C++ Development (англ.). Android blog (23 января 2011). Дата обращения: 11 июля 2019. Архивировано 7 сентября 2025 года.
  32. Using Visual Studio to Develop Native Android Code – VisualGDB Tutorials (англ.). Дата обращения: 11 июля 2019. Архивировано 9 сентября 2025 года.
  33. Simpleperf (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 12 сентября 2025 года.
  34. Accessory Development Kit (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 5 декабря 2024 года.
  35. AIDE- IDE for Android Java C++ – Apps bei Google Play (нем.). Google Play. Дата обращения: 11 июля 2019.
  36. Android::Build – Lint, compile, install, run an Android app using the command line tools minus Ant and Gradle thus freeing development effort from the strictures imposed by Android Studio. – metacpan.org (англ.). MetaCPAN. Дата обращения: 11 июля 2019. Архивировано 23 января 2025 года.
  37. Google App Inventor Simplifies Android Programming (англ.). InformationWeek (12 июля 2010). Дата обращения: 24 января 2023. Архивировано 24 января 2023 года.
  38. Google’s Do-It-Yourself App Tool (англ.) (11 июля 2010). Дата обращения: 24 января 2023. Архивировано 15 июля 2010 года.
  39. Google brings app-making to the masses – SFGate (англ.). SFGate (11 декабря 2009). Дата обращения: 24 января 2023. Архивировано 18 августа 2012 года.
  40. Programming Android (англ.). appinventor.org (15 июля 2010). Дата обращения: 24 января 2023.
  41. The MIT roots of Google’s new software (англ.). MIT News. Дата обращения: 12 июля 2019. Архивировано 8 сентября 2025 года.
  42. App Inventor launches second iteration (англ.). MIT News. Дата обращения: 12 июля 2019. Архивировано 4 мая 2025 года.
  43. App Inventor Classic. MIT App Inventor. Дата обращения: 12 июля 2019. Архивировано 9 декабря 2013 года.
  44. B4A – The simple way to develop native Android apps (англ.). B4X. Дата обращения: 19 сентября 2021. Архивировано 8 сентября 2025 года.
  45. Create a Coreliu Photo App! Beta test site (англ.). coreliu.org. Дата обращения: 12 июля 2019. Архивировано 8 августа 2025 года.
  46. Corona: Free Cross-Platform 2D Game Engine (амер. англ.). Corona Labs. Дата обращения: 12 июля 2019.
  47. Delphi is the fastest way to write, compile, package and deploy cross-platform native applications on Windows, macOS, iOS, Android and Linux. See more. (брит. англ.). Embarcadero. Дата обращения: 12 июля 2019. Архивировано 12 сентября 2025 года.
  48. DroidScript (брит. англ.). DroidScript. Дата обращения: 12 июля 2019.
  49. Command flappy (англ.). GoDoc. Дата обращения: 12 июля 2019. Архивировано 8 марта 2016 года.
  50. Package app (англ.). GoDoc. Дата обращения: 12 июля 2019. Архивировано 9 января 2015 года.
  51. Create Your Own Apps for Android Kindle with HAC (англ.). HyperNextAndroid.com. Дата обращения: 12 июля 2019.
  52. Kivy: Cross-platform Python Framework for NUI (англ.). Kivy. Дата обращения: 12 июля 2019.
  53. Create a package for Android (англ.). Kivy 2.0.0 documentation. Дата обращения: 23 апреля 2021. Архивировано 6 сентября 2025 года.
  54. Portal:Android – Lazarus wiki (англ.). Lazarus wiki. Дата обращения: 12 июля 2019. Архивировано 5 апреля 2025 года.
  55. Processing for Android (англ.). Processing. Дата обращения: 12 июля 2019. Архивировано 25 января 2025 года.
  56. Ketai Library – Home (англ.). Ketai. Дата обращения: 12 июля 2019.
  57. Qt for Android (англ.). Qt Documentation. Дата обращения: 12 июля 2019. Архивировано 11 декабря 2018 года.
  58. Android – Qt Wiki. Qt Wiki. Дата обращения: 12 июля 2019. Архивировано 28 августа 2025 года.
  59. Announcing RubyMotion 3.0: Android Platform, WatchKit Apps, and More (англ.). RubyMotion. Дата обращения: 12 июля 2019.
  60. Simple DirectMedia Layer for Android (англ.) (4 июня 2012). Дата обращения: 12 июля 2019. Архивировано 4 июня 2012 года.
  61. Microsoft ships stand-alone Android Emulator (англ.). BetaNews (21 июля 2015). Дата обращения: 12 июля 2019. Архивировано 7 октября 2022 года.
  62. Installing Google Play on Visual Studio Android Emulators (англ.). Alteridem (2 февраля 2017). Дата обращения: 12 июля 2019. Архивировано 2 июля 2025 года.
  63. Visual C++ Cross-Platform Mobile (амер. англ.). Visual Studio. Дата обращения: 12 июля 2019. Архивировано 4 августа 2025 года.
  64. Xamarin-App-Entwicklung mit Visual Studio (неопр.). Visual Studio. Дата обращения: 12 июля 2019. Архивировано 13 августа 2025 года.
  65. Android Developers Blog: The Top 50 Applications (англ.). Android Developers Blog (12 мая 2008). Дата обращения: 24 января 2023. Архивировано 13 мая 2008 года.
  66. Android Developer Challenge announces first-round winners (англ.). linuxdevices.org (13 мая 2008). Дата обращения: 24 января 2023. Архивировано 24 мая 2025 года.
  67. ADC I Top 50 Gallery – Android Developer Challenge (англ.) (16 июля 2009). Дата обращения: 24 января 2023. Архивировано 16 июля 2009 года.
  68. Android Developer Challenge (англ.) (22 июля 2009). Дата обращения: 24 января 2023. Архивировано 22 июля 2009 года.
  69. Android Developers Blog: ADC 2 Round 1 Scoring Complete (англ.). Android Developers Blog (6 октября 2009). Дата обращения: 24 января 2023. Архивировано 9 октября 2009 года.
  70. Android Developer Challenge (англ.) (4 января 2011). Дата обращения: 24 января 2023. Архивировано 4 января 2011 года.
  71. G1 Android Development (англ.). XDA Developers. Дата обращения: 12 июля 2019.
  72. Rooting: Advantages and Disadvantages (англ.). ITCSE forum. Дата обращения: 21 сентября 2013. Архивировано 7 мая 2025 года.
  73. CyanogenMod in trouble? – Android and Me (англ.) (24 сентября 2009). Дата обращения: 24 января 2023. Архивировано 3 октября 2009 года.
  74. Android Developers Blog: A Note on Google Apps for Android (англ.). Android Developers Blog (25 сентября 2009). Дата обращения: 24 января 2023. Архивировано 27 сентября 2009 года.
  75. The current state.. (англ.) (29 сентября 2009). Дата обращения: 24 января 2023. Архивировано 3 ноября 2009 года.
  76. Jilles van Gurp. Google Android: Initial Impressions and Criticism (англ.). Javalobby News (13 ноября 2007). Дата обращения: 12 июля 2019. Архивировано 30 сентября 2018 года.
  77. Myriad's New J2Android Converter Fuels Android Applications Gold Rush (англ.) (19 марта 2010). Дата обращения: 24 января 2023. Архивировано 4 июля 2011 года.
  78. Josh Fruhlinger. J2Android hopes you don't know that Android is Java-based (англ.) (22 марта 2010). Дата обращения: 12 июля 2019. Архивировано 27 августа 2016 года.
  79. Developing apps for Google Android: it's a mixed bag (англ.). Ars Technica (19 декабря 2007). Дата обращения: 12 июля 2019. Архивировано 20 декабря 2007 года.
  80. You can't rush perfection, but now you can file bugs against it (англ.). Android Developers Blog. Дата обращения: 12 июля 2019. Архивировано 14 июня 2025 года.
  81. Morrison, Scott (19 декабря 2007). “Glitches Bug Google's Android Software”. Wall Street Journal. ISSN 0099-9660. Дата обращения 2019-07-12.
  82. Snake (англ.) (13 ноября 2007). Дата обращения: 24 января 2023. Архивировано 9 мая 2008 года.
  83. First Android Application – Snake (англ.) (14 ноября 2007). Дата обращения: 24 января 2023. Архивировано 5 июня 2008 года.
  84. Google plays Hide and Seek with Android SDK • The Register (англ.). The Register (14 июля 2008). Дата обращения: 24 января 2023. Архивировано 19 июля 2008 года.
  85. Upgrading the SDK – Android (англ.) (3 сентября 2008). Дата обращения: 24 января 2023. Архивировано 13 сентября 2008 года.
  86. SDK Archives (англ.). Android Developers. Дата обращения: 12 июля 2019. Архивировано 28 сентября 2025 года.
  87. Developing on a Device (англ.) (13 февраля 2009). Дата обращения: 24 января 2023. Архивировано 7 февраля 2011 года.
  88. Christina Warren. Google Play Hits 1 Million Apps (англ.). Mashable. Дата обращения: 12 июля 2019. Архивировано 27 июля 2013 года.
  89. Android Market statistics from AndroLib, Androlib, Android Applications and Games directory (англ.). AndroLib. Дата обращения: 24 января 2023. Архивировано 30 июля 2009 года.
  90. Google: 3 Billion Android Apps Installed; Downloads Up 50 Percent From Last Quarter (англ.). TechCrunch (14 апреля 2011). Дата обращения: 24 января 2023. Архивировано 2 сентября 2025 года.
  91. (Report) Developer Economics 2011 – Winners and losers in the platform race (англ.) (8 июня 2011). Дата обращения: 24 января 2023. Архивировано 12 июня 2018 года.
  92. Mobile OS market share 2018 (англ.). Statista. Дата обращения: 6 июля 2019. Архивировано 31 августа 2025 года.

Литература