Разработка программного обеспечения для Android
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/bb/Android_open_source_project.png/200px-Android_open_source_project.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/7d/Nexus_4.png/220px-Nexus_4.png)
Разработка программного обеспечения Android — это процесс создания приложений для устройств под управлением операционной системы Android . Гугл утверждает, что [3] «Приложения для Android можно писать с использованием языков Kotlin , Java и C++ Android » с использованием комплекта разработки программного обеспечения (SDK), но также возможно использование других языков. Все языки виртуальных машин (JVM), отличные от Java, такие как Go , JavaScript , C , C++ или ассемблер , нуждаются в помощи кода языка JVM, который может предоставляться инструментами, вероятно, с ограниченной поддержкой API. Некоторые языки программирования и инструменты допускают поддержку кроссплатформенных приложений (т. е. как для Android, так и для iOS ). Сторонние инструменты, среды разработки и языковая поддержка также продолжали развиваться и расширяться с момента выпуска первоначального SDK в 2008 году. Официальным механизмом распространения приложений Android среди конечных пользователей является Google Play ; он также позволяет поэтапно выпускать приложения, а также распространять предварительные версии приложений среди тестировщиков.
Официальные инструменты разработки [ править ]
Комплект разработки программного обеспечения Android (SDK) включает в себя полный набор инструментов разработки. Инструменты платформы Android SDK — это отдельно загружаемая часть полного пакета SDK, состоящая из инструментов командной строки, таких как adb
и fastboot
. [4] Android Debug Bridge (ADB) — это инструмент для запуска команд на подключенном устройстве Android. Fastboot — это протокол , используемый для прошивки файловых систем. Код, написанный на C / C++, можно скомпилировать в ARM или x86 собственный код (или их 64-битные варианты) с помощью Android Native Development Kit (NDK).
Комплект разработки открытых аксессуаров для Android [ править ]
Платформа Android 3.1 (также перенесенная в Android 2.3.4) представляет поддержку Android Open Accessory, которая позволяет внешнему USB-оборудованию (USB-аксессуару Android) взаимодействовать с устройством под управлением Android в специальном «аксессуарном» режиме. Когда устройство под управлением Android находится в режиме аксессуара, подключенный аксессуар действует как USB-хост (питает шину и определяет устройства), а устройство под управлением Android действует как USB-устройство. USB-аксессуары Android специально разработаны для подключения к устройствам под управлением Android и соответствуют простому протоколу (протокол аксессуаров Android), который позволяет им обнаруживать устройства под управлением Android, поддерживающие режим аксессуаров. [5]
Разработка внешнего оборудования [ править ]
Инструменты разработки, призванные помочь устройству Android взаимодействовать с внешней электроникой, включают IOIO , Android Open Accessory Development Kit , Microbridge, Triggertrap и т. д.
Эмуляторы Android [ править ]
- BlueStacks
- Генимоушен
- LeapDroid
- С App Inventor
- Android-студия
- Android-x86
- Подсистема Windows для Android
Конкурс разработчиков Android [ править ]
Android Developer Challenge — это соревнование по поиску самого инновационного приложения для Android. Google предложил призы на общую сумму 10 миллионов долларов США , распределенные между ADC I и ADC II. ADC I принимал заявки со 2 января по 14 апреля 2008 г. 50 наиболее многообещающих работ, объявленных 12 мая 2008 г., каждая получила награду в размере 25 000 долларов США для дальнейшего развития. [6] [7] Он завершился в начале сентября объявлением десяти команд, получивших по 275 000 долларов каждая, и десяти команд, получивших по 100 000 долларов каждая. [8]
ADC II был анонсирован 27 мая 2009 года. [9] Первый раунд ADC II завершился 6 октября 2009 года. [10] Победители первого тура ADC II, включающего 200 лучших заявок, были объявлены 5 ноября 2009 г. Голосование во втором туре также началось в тот же день и завершилось 25 ноября. Google объявил лучших победителей ADC II 30 ноября. с SweetDreams, Что за дудл!? и WaveSecure были признаны абсолютными победителями конкурса. [11] [12]
Распространение через сообщество [ править ]
Существует сообщество энтузиастов с открытым исходным кодом , которые создают и распространяют дистрибутивы на базе Android (то есть прошивки ) с рядом настроек и дополнительных функций, таких как поддержка звука без потерь FLAC и возможность хранить загруженные приложения на карте microSD . [13] Обычно это включает в себя рутирование устройства. Рутирование дает пользователям root-доступ к операционной системе, обеспечивая полный контроль над телефоном. Рутирование также имеет ряд недостатков, в том числе повышенный риск взлома, высокую вероятность блокировки , потери гарантии, повышенный риск вирусных атак и т. д. [14] Также возможна установка кастомной прошивки, правда загрузчик устройства тоже должен быть разблокирован. Кастомная прошивка позволяет пользователям старых телефонов использовать приложения, доступные только в новых версиях. [15]
Эти пакеты прошивок часто обновляются, включают в себя элементы функциональности Android, которые еще не были официально выпущены в прошивках, санкционированных оператором связи, и, как правило, имеют меньше ограничений. CyanogenMod и OMFGB Примерами таких прошивок являются .
24 сентября 2009 г. Google выпустила о прекращении противоправных действий. письмо [16] моддеру Cyanogen со ссылкой на проблемы с перераспределением приложений Google с закрытым исходным кодом. [17] в кастомной прошивке. Несмотря на то, что большая часть ОС Android имеет открытый исходный код, телефоны поставляются с приложениями Google с закрытым исходным кодом для таких функций, как Google Play и GPS-навигация. Google утверждает, что эти приложения могут предоставляться только через одобренные каналы распространения лицензированными дистрибьюторами. Cyanogen выполнил условия лицензии Google и продолжил распространять свой мод без проприетарного программного обеспечения. Он предоставил метод резервного копирования лицензионных приложений Google во время процесса установки мода и их восстановления после завершения процесса. [18]
Стандарты Java [ править ]
К препятствиям для развития можно отнести тот факт, что Android не использует устоявшиеся стандарты Java, то есть Java SE и ME . Это предотвращает совместимость между приложениями Java, написанными для этих платформ, и приложениями, написанными для платформы Android. Android повторно использует синтаксис и семантику языка Java, но не предоставляет полные библиотеки классов и API, входящие в состав Java SE или ME. [19] Однако на рынке существует множество инструментов от таких компаний, как Myriad Group и UpOnTek, которые предоставляют услуги преобразования Java ME в Android. [20] [21] [22]
Android предоставляет свои собственные классы графического интерфейса и не предоставляет Java AWT, Swing или JavaFX. Он не поддерживает полный API Java Beans. [ нужна цитата ]
доля рынка и
Android был создан Open Handset Alliance , которым руководит Google. Первые отзывы о разработке приложений для платформы Android были неоднозначными. [23] В число упомянутых проблем входят ошибки, отсутствие документации, неадекватная инфраструктура контроля качества и отсутствие общедоступной системы отслеживания проблем. (Google анонсировал систему отслеживания ошибок 18 января 2008 г.) [24] В декабре 2007 года основатель мобильного стартапа MergeLab Адам Макбет заявил: «Функциональность отсутствует, плохо документирована или просто не работает… Она явно не готова к использованию в прайм-тайм». [25] Несмотря на это, приложения, ориентированные на Android, начали появляться уже через неделю после анонса платформы. Первым общедоступным приложением стала игра Snake . [26]
Предварительная версия Android SDK была выпущена 12 ноября 2007 г. 15 июля 2008 г. команда Android Developer Challenge случайно разослала всем участникам Android Developer Challenge электронное письмо, в котором сообщалось, что новая версия SDK доступна в «частная» зона загрузки. Письмо предназначалось победителям первого тура конкурса Android Developer Challenge. Обнаружение того, что Google поставляет новые выпуски SDK одним разработчикам, а не другим (и сохраняет эту договоренность в тайне), вызвало в то время широко известное разочарование в сообществе разработчиков Android. [27]
18 августа 2008 г. была выпущена бета-версия Android 0.9 SDK. В этом выпуске представлены обновленный и расширенный API, улучшенные инструменты разработки и обновленный дизайн главного экрана. Подробные инструкции по обновлению доступны тем, кто уже работает с более ранней версией. [28] 23 сентября 2008 г. был выпущен Android 1.0 SDK (выпуск 1). [29] Согласно примечаниям к выпуску, он включал «в основном исправления ошибок, хотя были добавлены некоторые более мелкие функции». Он также включал несколько изменений API по сравнению с версией 0.9. С момента его разработки было выпущено несколько версий. [30]
5 декабря 2008 года Google анонсировала первый Android Dev Phone — устройство с разблокировкой по SIM-карте и аппаратной разблокировкой, предназначенное для продвинутых разработчиков. Это была модифицированная версия телефона HTC Dream. Хотя разработчики могут использовать обычные потребительские устройства для тестирования и использования своих приложений, некоторые разработчики могут выбрать специальное разблокированное устройство или устройство без контракта.
По состоянию на июль 2013 г. [update]для Android разработано более миллиона приложений, [31] с более чем 25 миллиардами загрузок. [32] [33] Исследование, проведенное в июне 2011 года, показало, что на момент публикации эту платформу использовали более 67% мобильных разработчиков. [34] По прогнозам, в 2018 году поставки Android-смартфонов превысят 1,2 миллиарда единиц, а доля рынка составит 85%. [35]
См. также [ править ]
![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/0b/Wikiversity_logo_2017.svg/40px-Wikiversity_logo_2017.svg.png)
- Android-студия
- Список бесплатных приложений для Android с открытым исходным кодом
- Рутирование (Android)
Ссылки [ править ]
- ^ Перейти обратно: а б «Исходный код Android» . Источник.Android.com . Проверено 2 февраля 2017 г.
- ^ Сайед Х. (24 сентября 2023 г.). «Редакционная статья: Почему вам следует пойти на Нексус» . Уроки дроидов . Архивировано из оригинала 18 февраля 2017 года . Проверено 22 августа 2023 г.
- ^ «Основы применения» . Android-разработчики .
- ^ Модести, Паоло (март 2021 г.). «Сценарный подход к обучению и оценке разработки приложений для Android» . Транзакции ACM по компьютерному образованию . 21 (1): 1–24. дои : 10.1145/3427593 . Проверено 8 мая 2022 г.
- ^ «Руководства для разработчиков Android» . Developer.android.com . Проверено 17 апреля 2021 г.
- ^ Чен, Джейсон (12 мая 2008 г.). «50 лучших приложений» . Блог разработчиков Android . Архивировано из оригинала 25 сентября 2009 года . Проверено 4 сентября 2009 г.
- ^ Браун, Эрик (13 мая 2008 г.). «Android Developer Challenge объявляет победителей первого тура» . Linux для устройств . Архивировано из оригинала 14 мая 2008 года.
- ^ «Галерея ADC I Топ-50» . Конкурс разработчиков Android . Проверено 19 мая 2009 г.
- ^ «Вызов разработчиков Android» . Гугл-код . Проверено 11 января 2008 г.
- ^ Чу, Эрик (6 октября 2009 г.). «Подсчет очков в первом раунде ADC 2 завершен» . Блог разработчиков Android . Архивировано из оригинала 1 ноября 2009 года . Проверено 3 ноября 2009 г.
- ^ «Победители в общем зачете ADC 2» . Конкурс разработчиков Android . Архивировано из оригинала 4 января 2011 года . Проверено 5 декабря 2010 г.
- ^ Хариф, Ольга (30 ноября 2009 г.). «Объявлены победители Android Developer Challenge 2» . БизнесУик . Архивировано из оригинала 4 декабря 2009 года . Проверено 5 декабря 2010 г.
- ^ «Разработка Android мечты» . форум разработчиков xda . Проверено 11 сентября 2009 г.
- ^ «Укоренение: преимущества и недостатки» . Форум ITCSE . Архивировано из оригинала 29 ноября 2014 года . Проверено 21 сентября 2013 г.
- ^ «Android 2.1 от Motorola Droid, портированный на G1» . Вольт Мобайл . 10 марта 2010 года. Архивировано из оригинала 31 мая 2011 года . Проверено 13 мая 2011 г.
- ^ Уимберли, Тейлор (24 сентября 2009 г.). «У CyanogenMod проблемы?» . Андроид и я . Архивировано из оригинала 3 октября 2009 года . Проверено 26 сентября 2009 г.
- ^ Моррилл, Дэн (25 сентября 2009 г.). «Примечание о Google Apps для Android» . Блог разработчиков Android . Архивировано из оригинала 25 октября 2009 года . Проверено 26 сентября 2009 г.
- ^ «Текущее состояние...» CyanogenMod Android ROM . 27 сентября 2009 года. Архивировано из оригинала 3 ноября 2009 года . Проверено 27 сентября 2009 г.
- ^ ван Гурп, Джиллес (13 ноября 2007 г.). «Google Android: первые впечатления и критика» . Джавалобби . Архивировано из оригинала 28 августа 2008 года . Проверено 7 марта 2009 г.
Честно говоря, я не понимаю, почему Google намерен игнорировать огромное количество существующих реализаций. Мне кажется, это плохой случай «не здесь изобретено». В конечном итоге это замедлит внедрение. В мобильном мире уже слишком много Java-платформ, и это еще одна
- ^ «Новый конвертер J2Android от Myriad стимулирует золотую лихорадку приложений для Android» . 19 марта 2010 года. Архивировано из оригинала 4 июля 2011 года . Проверено 13 мая 2011 г.
- ^ Фрулингер, Джош (23 марта 2010 г.). «J2Android надеется, что вы не знаете, что Android основан на Java» . JavaWorld . Проверено 13 июля 2020 г.
С другой стороны, вы можете подумать, что это своего рода мошенничество, нацеленное на разработчиков, которые не совсем понимают природу платформы, на которую они нацелены. Моя самая большая жалоба заключается в том, что можно подумать, что Микаэль Рикнес, репортер службы новостей IDG, написавший первую статью, упомянутую выше (который работает в той же компании, которая издает JavaWorld), по крайней мере, упомянул бы об отношениях между Java и Android, чтобы проясните странность этого объявления.
- ^ Фрулингер, Джош (31 марта 2010 г.). «Множество технических директоров: J2Android переносит мидлеты в «красивую» платформу Android» . JavaWorld . Проверено 13 июля 2020 г.
Нам придется подождать и посмотреть, сколько на самом деле видит пикап J2Android. Этот инструмент пока еще не доступен на открытом рынке; хотя Шиллингс оптимистично говорил о «конвертации 1000 MIDlet за день», в настоящий момент они работают с несколькими провайдерами над преобразованием своих бэк-каталогов. Так что тем из вас, кто надеется избежать обучения написанию кода Android, возможно, придется подождать некоторое время.
- ^ Пол, Райан (19 декабря 2007 г.). «Разработка приложений для Google Android: это неоднозначная ситуация» . Арс Техника . Архивировано из оригинала 20 декабря 2007 года . Проверено 19 декабря 2007 г.
- ^ Моррилл, Дэн (18 января 2008 г.). «Вы не можете спешить с совершенством, но теперь вы можете сообщать об ошибках» . Блог разработчиков Android . Проверено 3 сентября 2009 г.
- ^ Моррисон, Скотт (19 декабря 2007 г.). «Глюки в программном обеспечении Android от Google» . Журнал "Уолл Стрит . Проверено 19 декабря 2007 г.
- ^ «Первое Android-приложение — Змейка» . Мобильный2день . 14 ноября 2007 года. Архивировано из оригинала 11 мая 2008 года . Проверено 7 января 2008 г.
- ^ Мец, Кейд (14 июля 2008 г.). «Google играет в прятки с помощью Android SDK» . Регистр . Архивировано из оригинала 6 октября 2008 года . Проверено 23 октября 2008 г.
- ^ «Android — проект Альянса открытых мобильных телефонов: обновление SDK» . Архивировано из оригинала 13 сентября 2008 года . Проверено 24 октября 2008 г.
- ^ «Другие выпуски SDK» . Android-разработчики . Проверено 2 сентября 2009 г.
- ^ «Архивы SDK» . Android-разработчики .
- ^ «Google Play насчитывает 1 миллион приложений» . Машаемый . 24 июля 2013 г.
- ^ «Статистика приложений Android» . Архивировано из оригинала 2 января 2011 года . Проверено 31 декабря 2010 г.
- ^ Лина Рао (14 апреля 2011 г.). «Google: установлено 3 миллиарда приложений для Android; количество загрузок выросло на 50 процентов по сравнению с прошлым кварталом» . Техкранч . Архивировано из оригинала 25 апреля 2011 года . Проверено 13 мая 2011 г.
- ^ «Экономика развития 2011» . Архивировано из оригинала 29 сентября 2013 года . Проверено 8 июля 2011 г.
- ^ «По данным IDC, мировые объемы продаж смартфонов останутся низкими в 2018 году, а затем вернутся к росту в 2019 году и в последующий период» . idc.com . 30 мая 2018 года. Архивировано из оригинала 17 октября 2019 года . Проверено 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-е изд.). Врокс Пресс . ISBN 978-0-470-56552-0 .
- Хейсман, Крис (21 июля 2008 г.). Основы Android (1-е изд.). Апресс . ISBN 978-1-4302-1064-1 .
- Клифтон, Ян (3 августа 2012 г.). Живые уроки «Основы разработки приложений для Android» (видеообучение) (1-е изд.). Аддисон-Уэсли Профессионал . ISBN 978-0-13-299658-7 .
![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/40px-Wikibooks-logo-en-noslogan.svg.png)
- Андроид (операционная система)
- Программное обеспечение для разработки Android (операционной системы)
- Встроенный Linux
- Бесплатное мобильное программное обеспечение
- Мобильный Linux
- Программное обеспечение Android (операционная система)
- Сообщества разработчиков программного обеспечения
- Разработка программного обеспечения по платформам