Разработка программного обеспечения для Android
Разрабо́тка програ́ммного обеспе́чения для Android — процесс создания мобильных приложений для устройств, работающих под управлением операционной системы Android. Для разработки приложений Android используется официальный комплект разработчика программного обеспечения Android — Android SDK, который обеспечивает разработку на языках Kotlin, Java и C++[3]. С помощью Android Native Development Kit (NDK) можно реализовать отдельные компоненты приложения на языках низкого уровня, таких как C или C++[4]. Некоторые языки программирования и инструменты позволяют создавать кроссплатформенные приложения для различных операционных систем. С момента выпуска первого SDK в 2008 году возникло множество сторонних инструментов, сред разработки и поддерживаемых языков.
Общие сведения
| Android SDK | |
|---|---|
| Тип | SDK |
| Разработчик | |
| Написана на | Java |
| Операционная система | платформенно-независимая |
| Первый выпуск | октябрь 2009 |
| Последняя версия | 26.1.1 / сентябрь 2017[5] |
| Лицензия | Android Open Source Project |
| Сайт | developer.android.com/sdk |
| Android NDK | |
|---|---|
| Тип | Software Development Kit |
| Разработчик | |
| Написана на | 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].
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].
Примечания
- ↑ Set up for Android Development (англ.). Android Open Source Project. Дата обращения: 11 июля 2019. Архивировано 31 декабря 2017 года.
- ↑ Syed H. Editorial: Why You Should Go Nexus (амер. англ.). Droid Lessons (24 сентября 2012). Дата обращения: 11 июля 2019. Архивировано 18 февраля 2017 года.
- ↑ Application Fundamentals (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 2 октября 2025 года.
- ↑ Android NDK (англ.). Android Developers. Дата обращения: 3 июля 2019. Архивировано 12 ноября 2025 года.
- ↑ SDK Tools release notes (англ.). Android Developers. Дата обращения: 3 июля 2019. Архивировано 23 июня 2012 года.
- ↑ Command line tools (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 19 июля 2018 года.
- ↑ Download Android Studio and SDK tools (англ.). Android Developers. Дата обращения: 3 июля 2019. Архивировано 26 апреля 2018 года.
- ↑ 1 2 AIDE- IDE for Android Java C++ – Apps bei Google Play (нем.). Google Play. Дата обращения: 3 июля 2019.
- ↑ Java Editor – Apps bei Google Play (нем.). Google Play. Дата обращения: 3 июля 2019.
- ↑ Tanapro JavaIDEdroid – Apps bei Google Play (нем.). Google Play. Дата обращения: 3 июля 2019.
- ↑ heise online. Android Studio ist nun offizielle Android-Entwicklungsumgebung (нем.). heise.de. Дата обращения: 11 июля 2019. Архивировано 10 декабря 2014 года.
- ↑ An update on Eclipse Android Developer Tools (англ.). Android Developers Blog. Дата обращения: 11 июля 2019. Архивировано 30 сентября 2025 года.
- ↑ NBAndroid – NetBeans Plugin detail (англ.). Дата обращения: 11 июля 2019. Архивировано 17 октября 2018 года.
- ↑ Backup & Restore Android Apps Using ADB (англ.). JonWestfall.com (25 августа 2009). Дата обращения: 3 июля 2019. Архивировано 10 сентября 2025 года.
- ↑ SDK Tools release notes (англ.). Android Developers. Дата обращения: 3 июля 2019. Архивировано 3 июня 2018 года.
- ↑ Where does Android store apps on my device? (англ.). FileInfo. Дата обращения: 11 июля 2019. Архивировано 5 октября 2025 года.
- ↑ SDK Platform Tools release notes (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 12 мая 2018 года.
- ↑ 1 2 3 Android Debug Bridge (adb) (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 26 апреля 2018 года.
- ↑ Jack Wallen. How to create a full backup of your Android device without root (англ.). TechRepublic. Дата обращения: 11 июля 2019. Архивировано 18 июля 2025 года.
- ↑ fastboot/README.md. Android Open Source Project. Дата обращения: 11 июля 2019. Архивировано 25 мая 2025 года.
- ↑ Eric Ravenscraft. The Most Useful Things You Can Do with ADB and Fastboot on Android (амер. англ.). Lifehacker. Дата обращения: 11 июля 2019. Архивировано 22 сентября 2025 года.
- ↑ fastboot › Wiki › ubuntuusers.de. ubuntuusers.de. Дата обращения: 11 июля 2019. Архивировано 8 декабря 2024 года.
- ↑ NDK Downloads (англ.). Android Developers. Дата обращения: 4 июля 2019. Архивировано 8 октября 2025 года.
- ↑ 1 2 NDK Revision History (англ.). Android Developers. Дата обращения: 4 июля 2019. Архивировано 30 апреля 2018 года.
- ↑ Using the NDK with other build systems (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 15 ноября 2025 года.
- ↑ 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 года.
- ↑ Google: Android verzichtet auf GCC für native Apps – Golem.de (неопр.). golem.de. Дата обращения: 11 июля 2019. Архивировано 23 декабря 2015 года.
- ↑ Android – Invoke JNI based methods (Bridging C/C++ and Java) (англ.) (9 декабря 2007). Дата обращения: 24 января 2023. Архивировано 9 сентября 2025 года.
- ↑ System (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 10 октября 2025 года.
- ↑ Android NDK Native APIs (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 8 октября 2025 года.
- ↑ MartinH. Using Eclipse for Android C/C++ Development (англ.). Android blog (23 января 2011). Дата обращения: 11 июля 2019. Архивировано 7 сентября 2025 года.
- ↑ Using Visual Studio to Develop Native Android Code – VisualGDB Tutorials (англ.). Дата обращения: 11 июля 2019. Архивировано 9 сентября 2025 года.
- ↑ Simpleperf (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 12 сентября 2025 года.
- ↑ Accessory Development Kit (англ.). Android Developers. Дата обращения: 11 июля 2019. Архивировано 5 декабря 2024 года.
- ↑ AIDE- IDE for Android Java C++ – Apps bei Google Play (нем.). Google Play. Дата обращения: 11 июля 2019.
- ↑ 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 года.
- ↑ Google App Inventor Simplifies Android Programming (англ.). InformationWeek (12 июля 2010). Дата обращения: 24 января 2023. Архивировано 24 января 2023 года.
- ↑ Google’s Do-It-Yourself App Tool (англ.) (11 июля 2010). Дата обращения: 24 января 2023. Архивировано 15 июля 2010 года.
- ↑ Google brings app-making to the masses – SFGate (англ.). SFGate (11 декабря 2009). Дата обращения: 24 января 2023. Архивировано 18 августа 2012 года.
- ↑ Programming Android (англ.). appinventor.org (15 июля 2010). Дата обращения: 24 января 2023.
- ↑ The MIT roots of Google’s new software (англ.). MIT News. Дата обращения: 12 июля 2019. Архивировано 8 сентября 2025 года.
- ↑ App Inventor launches second iteration (англ.). MIT News. Дата обращения: 12 июля 2019. Архивировано 4 мая 2025 года.
- ↑ App Inventor Classic. MIT App Inventor. Дата обращения: 12 июля 2019. Архивировано 9 декабря 2013 года.
- ↑ B4A – The simple way to develop native Android apps (англ.). B4X. Дата обращения: 19 сентября 2021. Архивировано 8 сентября 2025 года.
- ↑ Create a Coreliu Photo App! Beta test site (англ.). coreliu.org. Дата обращения: 12 июля 2019. Архивировано 8 августа 2025 года.
- ↑ Corona: Free Cross-Platform 2D Game Engine (амер. англ.). Corona Labs. Дата обращения: 12 июля 2019.
- ↑ 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 года.
- ↑ DroidScript (брит. англ.). DroidScript. Дата обращения: 12 июля 2019.
- ↑ Command flappy (англ.). GoDoc. Дата обращения: 12 июля 2019. Архивировано 8 марта 2016 года.
- ↑ Package app (англ.). GoDoc. Дата обращения: 12 июля 2019. Архивировано 9 января 2015 года.
- ↑ Create Your Own Apps for Android Kindle with HAC (англ.). HyperNextAndroid.com. Дата обращения: 12 июля 2019.
- ↑ Kivy: Cross-platform Python Framework for NUI (англ.). Kivy. Дата обращения: 12 июля 2019.
- ↑ Create a package for Android (англ.). Kivy 2.0.0 documentation. Дата обращения: 23 апреля 2021. Архивировано 6 сентября 2025 года.
- ↑ Portal:Android – Lazarus wiki (англ.). Lazarus wiki. Дата обращения: 12 июля 2019. Архивировано 5 апреля 2025 года.
- ↑ Processing for Android (англ.). Processing. Дата обращения: 12 июля 2019. Архивировано 25 января 2025 года.
- ↑ Ketai Library – Home (англ.). Ketai. Дата обращения: 12 июля 2019.
- ↑ Qt for Android (англ.). Qt Documentation. Дата обращения: 12 июля 2019. Архивировано 11 декабря 2018 года.
- ↑ Android – Qt Wiki. Qt Wiki. Дата обращения: 12 июля 2019. Архивировано 28 августа 2025 года.
- ↑ Announcing RubyMotion 3.0: Android Platform, WatchKit Apps, and More (англ.). RubyMotion. Дата обращения: 12 июля 2019.
- ↑ Simple DirectMedia Layer for Android (англ.) (4 июня 2012). Дата обращения: 12 июля 2019. Архивировано 4 июня 2012 года.
- ↑ Microsoft ships stand-alone Android Emulator (англ.). BetaNews (21 июля 2015). Дата обращения: 12 июля 2019. Архивировано 7 октября 2022 года.
- ↑ Installing Google Play on Visual Studio Android Emulators (англ.). Alteridem (2 февраля 2017). Дата обращения: 12 июля 2019. Архивировано 2 июля 2025 года.
- ↑ Visual C++ Cross-Platform Mobile (амер. англ.). Visual Studio. Дата обращения: 12 июля 2019. Архивировано 4 августа 2025 года.
- ↑ Xamarin-App-Entwicklung mit Visual Studio (неопр.). Visual Studio. Дата обращения: 12 июля 2019. Архивировано 13 августа 2025 года.
- ↑ Android Developers Blog: The Top 50 Applications (англ.). Android Developers Blog (12 мая 2008). Дата обращения: 24 января 2023. Архивировано 13 мая 2008 года.
- ↑ Android Developer Challenge announces first-round winners (англ.). linuxdevices.org (13 мая 2008). Дата обращения: 24 января 2023. Архивировано 24 мая 2025 года.
- ↑ ADC I Top 50 Gallery – Android Developer Challenge (англ.) (16 июля 2009). Дата обращения: 24 января 2023. Архивировано 16 июля 2009 года.
- ↑ Android Developer Challenge (англ.) (22 июля 2009). Дата обращения: 24 января 2023. Архивировано 22 июля 2009 года.
- ↑ Android Developers Blog: ADC 2 Round 1 Scoring Complete (англ.). Android Developers Blog (6 октября 2009). Дата обращения: 24 января 2023. Архивировано 9 октября 2009 года.
- ↑ Android Developer Challenge (англ.) (4 января 2011). Дата обращения: 24 января 2023. Архивировано 4 января 2011 года.
- ↑ G1 Android Development (англ.). XDA Developers. Дата обращения: 12 июля 2019.
- ↑ Rooting: Advantages and Disadvantages (англ.). ITCSE forum. Дата обращения: 21 сентября 2013. Архивировано 7 мая 2025 года.
- ↑ CyanogenMod in trouble? – Android and Me (англ.) (24 сентября 2009). Дата обращения: 24 января 2023. Архивировано 3 октября 2009 года.
- ↑ Android Developers Blog: A Note on Google Apps for Android (англ.). Android Developers Blog (25 сентября 2009). Дата обращения: 24 января 2023. Архивировано 27 сентября 2009 года.
- ↑ The current state.. (англ.) (29 сентября 2009). Дата обращения: 24 января 2023. Архивировано 3 ноября 2009 года.
- ↑ Jilles van Gurp. Google Android: Initial Impressions and Criticism (англ.). Javalobby News (13 ноября 2007). Дата обращения: 12 июля 2019. Архивировано 30 сентября 2018 года.
- ↑ Myriad's New J2Android Converter Fuels Android Applications Gold Rush (англ.) (19 марта 2010). Дата обращения: 24 января 2023. Архивировано 4 июля 2011 года.
- ↑ Josh Fruhlinger. J2Android hopes you don't know that Android is Java-based (англ.) (22 марта 2010). Дата обращения: 12 июля 2019. Архивировано 27 августа 2016 года.
- ↑ Developing apps for Google Android: it's a mixed bag (англ.). Ars Technica (19 декабря 2007). Дата обращения: 12 июля 2019. Архивировано 20 декабря 2007 года.
- ↑ You can't rush perfection, but now you can file bugs against it (англ.). Android Developers Blog. Дата обращения: 12 июля 2019. Архивировано 14 июня 2025 года.
- ↑ Morrison, Scott (19 декабря 2007). “Glitches Bug Google's Android Software”. Wall Street Journal. ISSN 0099-9660. Дата обращения 2019-07-12.
- ↑ Snake (англ.) (13 ноября 2007). Дата обращения: 24 января 2023. Архивировано 9 мая 2008 года.
- ↑ First Android Application – Snake (англ.) (14 ноября 2007). Дата обращения: 24 января 2023. Архивировано 5 июня 2008 года.
- ↑ Google plays Hide and Seek with Android SDK • The Register (англ.). The Register (14 июля 2008). Дата обращения: 24 января 2023. Архивировано 19 июля 2008 года.
- ↑ Upgrading the SDK – Android (англ.) (3 сентября 2008). Дата обращения: 24 января 2023. Архивировано 13 сентября 2008 года.
- ↑ SDK Archives (англ.). Android Developers. Дата обращения: 12 июля 2019. Архивировано 28 сентября 2025 года.
- ↑ Developing on a Device (англ.) (13 февраля 2009). Дата обращения: 24 января 2023. Архивировано 7 февраля 2011 года.
- ↑ Christina Warren. Google Play Hits 1 Million Apps (англ.). Mashable. Дата обращения: 12 июля 2019. Архивировано 27 июля 2013 года.
- ↑ Android Market statistics from AndroLib, Androlib, Android Applications and Games directory (англ.). AndroLib. Дата обращения: 24 января 2023. Архивировано 30 июля 2009 года.
- ↑ Google: 3 Billion Android Apps Installed; Downloads Up 50 Percent From Last Quarter (англ.). TechCrunch (14 апреля 2011). Дата обращения: 24 января 2023. Архивировано 2 сентября 2025 года.
- ↑ (Report) Developer Economics 2011 – Winners and losers in the platform race (англ.) (8 июня 2011). Дата обращения: 24 января 2023. Архивировано 12 июня 2018 года.
- ↑ Mobile OS market share 2018 (англ.). Statista. Дата обращения: 6 июля 2019. Архивировано 31 августа 2025 года.
Литература
- Thomas Theis. Einstieg in Kotlin. — Rheinwerk Verlag, 2019. — ISBN 978-3-8362-6872-1.
- Thomas Künneth. Android 11: Das Praxisbuch für App-Entwickler. — Rheinwerk Verlag, 2020. — ISBN 978-3-8362-7003-8.
- Florian Franke, Johannes Ippen. Apps mit HTML5, CSS3 und JavaScript. Für iPhone, iPad und Android. — Rheinwerk Verlag, 2015. — ISBN 978-3-8362-3486-3.
- Ian Clifton. The Essentials of Android Application Development LiveLessons (Video Training) : [англ.]. — Addison-Wesley Professional, 2012. — ISBN 978-0-13-299658-7.
- Shane Conder, Lauren Darcey. Android Wireless Application Development Volume II: Advanced Topics : [англ.]. — Addison-Wesley Professional, 2012. — ISBN 978-0-321-81384-8.
- Frank Ableson, Robi Sen, Chris King. Android in Action, Second Edition : [англ.]. — Manning, 2011. — ISBN 978-1-935182-72-6.
- Burnette Ed. Hello, Android: Introducing Google's Mobile Development Platform : [англ.]. — Pragmatic Bookshelf, 2010. — ISBN 978-1-934356-56-2.
- Reto Meier. Professional Android 2 Application Development : [англ.]. — Wrox Press, 2010. — ISBN 978-0-470-56552-0.
- Mark Murphy. Beginning Android : [англ.]. — Apress, 2009. — ISBN 978-1-4302-2419-8.
- Chris Haseman. Android Essentials : [англ.]. — Apress, 2008. — ISBN 978-1-4302-1064-1.