Как устроена ос андроид
[Конкурс] Android изнутри или просто о сложном
Dreamer.
Введение
Общаясь на форумах и являясь куратором нескольких тем, часто сталкиваюсь с полным непониманием новичков об устройстве андроида. «Ну, а зачем обычному пользователю знать это?» — скажете вы. И тут я с вами соглашусь, задав встречный вопрос: «А зачем тогда обычный пользователь лезет в дебри прошивок, root доступа и твиков системы, не понимая в этом ничего?». Именно это и натолкнуло меня на написание данной статьи, в которой я попытаюсь, обычным и понятным языком, донести сложные вещи.
Материал направлен, в первую очередь, на обычных пользователей. Поэтому здесь будет представлена сжатая и поверхностная информация без технических углублений и нюансов.
Содержание:
- Разделы внутренней памяти.
- Bootloader,recovery,adbиfastboot
- Внутренности системы.
- Root.
1. Разделы внутренней памяти
Внутренняя память устройства на андроиде разбита на несколько логических дисков (разделов).
Приведу только основные:
Bootloader – здесь находится микропрограмма (загрузчик), позволяющая запускать операционную систему, рекавери и другие сервисные режимы.
Recovery – как видно из названия, тут установлено инженерное меню восстановления или просто Рекавери.
Boot – сердце Андроид ОС, тут находится ядро, драйвера и настройки управления процессором и памятью.
System – системный раздел, в котором находятся все, необходимые для работы Android ОС, файлы, это как папка Windows на вашем диске С: (здесь и далее буду проводить ассоциацию с ОС Windows)
Data – раздел для установки приложений и хранения их данных. (Program files)
User – это всем известная sdcard или, проще говоря, место под пользовательские файлы (Мои документы). Здесь я вынужден сделать отступление, т.к. размещение данного раздела имеет несколько вариантов:
- Раздел отсутствует во внутренней памяти, а вместо него используется внешний накопитель — самый популярный вариант. (рис.1)
- В устройствах со встроенной памятью большого размера, данный раздел видится какsdcard, а внешняя карта памяти видится какsdcard2илиextsd(могут быть и другие варианты названия). Обычно, встречается на устройствах сAndroid3.2. (Рис.2 Вариант 1)
- Данный вариант пришел на смену предыдущему варианту, вместе с Андроид 4.0. РазделUserзаменили папкойmediaна разделеData, что позволило использовать всю доступную пользователю память для установки программ и хранения данных, а не то количество, что выделил нам производитель. Иными словамиsdcardиdataявляются одним целым. (Рис.2 Вариант 2)
2. Bootloader, Recovery, adb и fastboot
Теперь, когда мы знаем, что и где находится, давайте разберемся для чего оно там.
Начнем с Bootloader. Это загрузчик, который запускает Андроид, рекавери и т.п. Когда мы нажимаем кнопку включения, запускается загрузчик и, если нет дополнительных команд (зажатых клавиш), запускает загрузку boot. Если же была зажата комбинация клавиш (у каждого устройства она своя) то запускает, в зависимости от команды, recovery, fastboot или apx. На рисунке ниже наглядно показано, что запускает Bootloader и как взаимосвязаны разделы.
Как видно из рисунка №3, раздел Recovery не влияет на загрузку Андроид ОС, но зачем же он тогда нужен? Давайте попробуем разобраться.
Recovery (рекавери) по сути является маленькой утилитой на ядре Linux и загружается не зависимо от Андроид. Его штатный функционал не богат: можно сбросить аппарат до заводских настроек или же обновить прошивку (заранее скачанную на sdcard). Но, благодаря народным умельцам, у нас есть модифицированные рекавери, через которые можно устанавливать модифицированные (кастомные) прошивки, настраивать андроид, создавать резервные копии и многое другое. Наличие или отсутствие рекавери, а также его версия не влияют на работоспособность Андроид ОС (очень частый вопрос на форумах).
Особо внимательные читатели могли заметить на Рис.3 некий Fastboot. Это интерфейс для работы напрямую с разделами внутренней памяти, при помощи командной строки. Через него можно прошить рекавери, ядро или новую версию прошивки, или же форматировать (удалить всю информацию) тот или иной раздел.
Раз уж зашла речь об интерфейсах, хочу рассказать о еще одном, довольно известном,- adb (android debug bridge). Это, так называемый, режим отладки и назван он так неспроста – через него можно отслеживать работу, как системы в целом, так и отдельных приложений. Но это еще не все, при помощи adb можно получить полный доступ к файловой системе устройства и изменять системные файлы или же вытянуть важную информацию, когда ваш девайс завис на загрузке. Все функции режима отладки описывать не буду т.к. моя цель донести общую информацию, а не подробный обзор о функциях того или иного режима.
3. Внутренности системы
Разобравшись с теорией, давайте запустим Андроид ОС.
Нажимаем кнопку питания — запускается Bootloader, который загружает Ядро (boot), оно, в свою очередь, запускает систему (System), ну, а она уже подгружает программы (data) и пользовательское пространство (user). (Рис.3)
А теперь перейдем в корневой каталог и посмотрим на внутренности самой Android OS:
В этой схеме я привел, только необходимые для ознакомления, директории. На самом деле их гораздо больше и на обзор только одной папки System понадобится целая статья.
И так, папка data. Как можно догадаться из названия, она как-то связана с данными, но с какими? Да практически со всеми, это и данные о синхронизации и аккаунтах, пароли к точкам доступа wifi и настройки vpn, и так далее. Среди всего прочего тут можно обнаружить папки app, data и dalvik—cache – рассмотрим их назначение:
- app – сюда устанавливаются программы и игры.
- data – здесь хранятся данные приложений, их настройки, сэйвы игр и прочая информация.
- dalvik—cache — программная область кэш-памяти для программы Dalvik. Dalvik это Java-виртуальная машина, которая является основой для работы программ, имеющих *.apk расширение. Для того, чтобы сделать запуск программ быстрее — создается их кэш.
Папка System хранит в себе системные данные и все необходимое для работы ОС. Давайте рассмотрим некоторые из этих папок:
- app – здесь находятся системные приложения (смс, телефон, календарь, настройки и т.п.), а так же приложения установленные производителем устройства (фирменные виджеты, живые обои и т.д.).
- fonts – системные шрифты
- media – содержит стандартные мелодии звонков, уведомлений, будильников и звуков интерфейса, а так же загрузочную анимацию (bootanimation)
- build.prop – Этот файл упоминается, чуть ли не первым, в разговорах и статьях о тонкой настройке системы. В нем содержится огромное количество настроек, таких как плотность экрана, время задержки сенсора приближения, управление wifi, имя и производитель устройства и многие другие параметры.
4. Root
— Знать что в какой папке это хорошо, но можно ли что-то с этим сделать?
— Да! Но нужны права суперпользователя (root) или, если проводить аналогию с Windows, права Администратора. Изначально все устройства на Андроид идут без root прав для конечного пользователя, т.е. покупая девайс, мы не являемся в нем полноценными хозяевами. Это сделано как для защиты от вредоносных программ, так и от самого пользователя – ведь, в неумелых руках, полный доступ к системе может привести к «смерти» операционной системы и последующей необходимости в перепрошивке устройства.
«Ну и в чем польза такой опасной штуки?» — спросите Вы.
- Возможность делать резервные копии данных и восстанавливать их после прошивки или случайного удаления.
- Тонкая настройка системы вручную или при помощи специальных программ.
- Удаление системных приложений, мелодий, обоев и т.п.
- Изменение внешнего вида ОС (например, отображение заряда батареи в процентах)
- Добавление функционала (поддержкаad—hocсетей, к примеру)
Данный список можно продолжать еще долго, но, думаю, данных примеров будет достаточно для представления о возможностях и широте применения root привилегий.
— Это все здорово, но теперь любая программа сможет получить доступ к «сердцу» операционки и моим данным?
— Нет. Вы сами решаете разрешить, тому или иному приложению, получить root доступ, или нет. Для этого существует программа Superuser или ее продвинутая сестра SuperSU. Без этой или подобной программы воспользоваться root не возможно.
Эпилог
Как видите, Андроид не такая уж и сложная штука. Надеюсь, после прочтения статьи, вы узнали что-то новое или получили ответ на давно интересовавший вопрос.
Засим откланиваюсь, до встречи в комментариях. 😉
Как работает Android, часть 1
В этой серии статей я расскажу о внутреннем устройстве Android — о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.
Немного фактов
Android — самая популярная операционная система и платформа для приложений, насчитывающая больше двух миллиардов активных пользователей. На ней работают совершенно разные устройства, от «интернета вещей» и умных часов до телевизоров, ноутбуков и автомобилей, но чаще всего Android используют на смартфонах и планшетах.
Android — свободный и открытый проект. Большинство исходного кода (который можно найти на https://source.android.com) распространяется под свободной лицензией Apache 2.0.
Компания Android Inc. была основана в 2003 году и в 2005 году куплена Google. Публичная бета Android вышла в 2007 году, а первая стабильная версия — в 2008, с тех пор мажорные релизы выходят примерно раз в год. Последняя на момент написания стабильная версия Android — 7.1.2 Nougat.
Android is Linux
По поводу такой формулировки было много споров, так что сразу поясню, что именно я имею в виду под этой фразой: Android основан на ядре Linux, но значительно отличается от большинства других Linux-систем.
Среди исходной команды разработчиков Android был Robert Love, один из самых известных разработчиков ядра Linux, да и сейчас компания Google остаётся одним из самых активных контрибьюторов в ядро, поэтому неудивительно, что Android построен на основе Linux.
Как и в других Linux-системах, ядро Linux обеспечивает такие низкоуровневые вещи, как управление памятью, защиту данных, поддержку мультипроцессности и многопоточности. Но — за несколькими исключениями — вы не найдёте в Android других привычных компонентов GNU/Linux-систем: здесь нет ничего от проекта GNU, не используется X.Org, ни даже systemd. Все эти компоненты заменены аналогами, более приспособленными для использования в условиях ограниченной памяти, низкой скорости процессора и минимального потребления энергии — таким образом, Android больше похож на встраиваемую (embedded) Linux-систему, чем на GNU/Linux.
Другая причина того, что в Android не используется софт от GNU — известная политика «no GPL in userspace»:
We are sometimes asked why Apache Software License 2.0 is the preferred license for Android. For userspace (that is, non-kernel) software, we do in fact prefer ASL 2.0 (and similar licenses like BSD, MIT, etc.) over other licenses such as LGPL.
Android is about freedom and choice. The purpose of Android is promote openness in the mobile world, and we don’t believe it’s possible to predict or dictate all the uses to which people will want to put our software. So, while we encourage everyone to make devices that are open and modifiable, we don’t believe it is our place to force them to do so. Using LGPL libraries would often force them to do just that.
Само ядро Linux в Android тоже немного модифицировано: было добавлено несколько небольших компонентов, в том числе ashmem (anonymous shared memory), Binder driver (часть большого и важного фреймворка Binder, о котором я расскажу ниже), wakelocks (управление спящим режимом) и low memory killer. Исходно они представляли собой патчи к ядру, но их код был довольно быстро добавлен назад в upstream-ядро. Тем не менее, вы не найдёте их в «обычном линуксе»: большинство других дистрибутивов отключают эти компоненты при сборке.
В качестве libc (стандартной библиотеки языка C) в Android используется не GNU C library (glibc), а собственная минималистичная реализация под названием bionic, оптимизированная для встраиваемых (embedded) систем — она значительно быстрее, меньше и менее требовательна к памяти, чем glibc, которая обросла множеством слоёв совместимости.
В Android есть оболочка командной строки (shell) и множество стандартных для Unix-подобных систем команд/программ. Во встраиваемых системах для этого обычно используется пакет Busybox, реализующий функциональность многих команд в одном исполняемом файле; в Android используется его аналог под названием Toybox. Как и в «обычных» дистрибутивах Linux (и в отличие от встраиваемых систем), основным способом взаимодействия с системой является графический интерфейс, а не командная строка. Тем не менее, «добраться» до командной строки очень просто — достаточно запустить приложение-эмулятор терминала. По умолчанию он обычно не установлен, но его легко, например, скачать из Play Store (Terminal Emulator for Android, Material Terminal, Termux). Во многих «продвинутых» дистрибутивах Android — таких, как LineageOS (бывший CyanogenMod) — эмулятор терминала предустановлен.
Второй вариант — подключиться к Android-устройству с компьютера через Android Debug Bridge (adb). Это очень похоже на подключение через SSH:
Из других знакомых компонентов в Android используются библиотека FreeType (для отображения текста), графические API OpenGL ES, EGL и Vulkan, а также легковесная СУБД SQLite.
Кроме того, раньше для реализации WebView использовался браузерный движок WebKit, но начиная с версии 7.0 вместо этого используется установленное приложение Chrome (или другое; список приложений, которым разрешено выступать в качестве WebView provider, конфигурируется на этапе компиляции системы). Внутри себя Chrome тоже использует основанный на WebKit движок Blink, но в отличие от системной библиотеки, Chrome обновляется через Play Store — таким образом, все приложения, использующие WebView, автоматически получают последние улучшения и исправления уязвимостей.
It’s all about apps
Как легко заметить, использование Android принципиально отличается от использования «обычного Linux» — вам не нужно открывать и закрывать приложения, вы просто переключаетесь между ними, как будто все приложения запущены всегда. Действительно, одна из уникальных особенностей Android — в том, что приложения не контролируют напрямую процесс, в котором они запущены. Давайте поговорим об этом подробнее.
Основная единица в Unix-подобных системах — процесс. И низкоуровневые системные сервисы, и отдельные команды в shell’е, и графические приложения — это процессы. В большинстве случаев процесс представляет собой чёрный ящик для остальной системы — другие компоненты системы не знают и не заботятся о его состоянии. Процесс начинает выполняться с вызова функции main() (на самом деле _start ), и дальше реализует какую-то свою логику, взаимодействуя с остальной системой через системные вызовы и простейшее межпроцессное общение (IPC).
Поскольку Android тоже Unix-подобен, всё это верно и для него, но в то время как низкоуровневые части — на уровне Unix — оперируют понятием процесса, на более высоком уровне — уровне Android Framework — основной единицей является приложение. Приложение — не чёрный ящик: оно состоит из отдельных компонентов, хорошо известных остальной системе.
У приложений Android нет функции main() , нет одной точки входа. Вообще, Android максимально абстрагирует понятие приложение запущено как от пользователя, так и от разработчика. Конечно, процесс приложения нужно запускать и останавливать, но Android делает это автоматически (подробнее я расскажу об этом в следующих статьях). Разработчику предлагается реализовать несколько отдельных компонентов, каждый из которых обладает своим собственным жизненным циклом.
In Android, however, we explicitly decided we were not going to have a main() function, because we needed to give the platform more control over how an app runs. In particular, we wanted to build a system where the user never needed to think about starting and stopping apps, but rather the system took care of this for them… so the system had to have some more information about what is going on inside of each app, and be able to launch apps in various well-defined ways whenever it is needed even if it currently isn’t running.
Для реализации такой системы нужно, чтобы приложения имели возможность общатся друг с другом и с системными сервисами — другими словами, нужен очень продвинутый и быстрый механизм IPC.
Этот механизм — Binder.
Binder
Binder — это платформа для быстрого, удобного и объектно-ориентированного межпроцессного взаимодействия.
Разработка Binder началась в Be Inc. (для BeOS), затем он был портирован на Linux и открыт. Основной разработчик Binder, Dianne Hackborn, была и остаётся одним из основных разработчиков Android. За время разработки Android Binder был полностью переписан.
Binder работает не поверх System V IPC (которое даже не поддерживается в bionic), а использует свой небольшой модуль ядра, взаимодействие с которым из userspace происходит через системные вызовы (в основном ioctl ) на «виртуальном устройстве» /dev/binder . Со стороны userspace низкоуровневая работа с Binder, в том числе взаимодействие с /dev/binder и marshalling/unmarshalling данных, реализована в библиотеке libbinder.
Низкоуровневые части Binder оперируют в терминах объектов, которые могут пересылаться между процессами. При этом используется подсчёт ссылок (reference-counting) для автоматического освобождения неиспользуемых общих ресурсов и уведомление о завершении удалённого процесса (link-to-death) для освобождения ресурсов внутри процесса.
Высокоуровневые части Binder работают в терминах интерфейсов, сервисов и прокси-объектов. Описание интерфейса, предоставляемого программой другим программам, записывается на специальном языке AIDL (Android Interface Definition Language), внешне очень похожем на объявление интерфейсов в Java. По этому описанию автоматически генерируется настоящий Java-интерфейс, который потом может использоваться и клиентами, и самим сервисом. Кроме того, по .aidl -файлу автоматически генерируются два специальных класса: Proxy (для использования со стороны клиента) и Stub (со стороны сервиса), реализующие этот интерфейс.
Для Java-кода в процессе-клиенте прокси-объект выглядит как обычный Java-объект, который реализует наш интерфейс, и этот код может просто вызывать его методы. При этом сгенерированная реализация прокси-объекта автоматически сериализует переданные аргументы, общается с процессом-сервисом через libbinder, десериализует переданный назад результат вызова и возвращает его из Java-метода.
Stub работает наоборот: он принимает входящие вызовы через libbinder, десериализует аргументы, вызывает абстрактную реализацию метода, сериализует возвращаемое значение и передаёт его процессу-клиенту. Соответственно, для реализации сервиса программисту достаточно реализовать абстрактные методы в унаследованном от Stub классе.
Такая реализация Binder на уровне Java позволяет большинству кода использовать прокси-объект, вообще не задумываясь о том, что его функциональность реализована в другом процессе. Для обеспечения полной прозрачности Binder поддерживает вложенные и рекурсивные межпроцессные вызовы. Более того, использование Binder со стороны клиента выглядит совершенно одинаково, независимо от того, расположена ли реализация используемого сервиса в том же или в отдельном процессе.
Для того, чтобы разные процессы могли «найти» сервисы друг друга, в Android есть специальный сервис ServiceManager, который хранит, регистрирует и выдаёт токены всех остальных сервисов.
Binder широко используется в Android для реализации системных сервисов (например, пакетного менеджера и буфера обмена), но детали этого скрыты от разработчика приложений высокоуровневыми классами в Android Framework, такими как Activity, Intent и Context. Приложения могут также использовать Binder для предоставления друг другу собственных сервисов — например, приложение Google Play Services вообще не имеет собственного графического интерфейса для пользователя, но предоставляет разработчикам других приложений возможность пользоваться сервисами Google Play.
Подробнее про Binder можно узнать по этим ссылкам:
В следующей статье я расскажу о некоторых идеях, на которых построены высокоуровневые части Android, о нескольких его предшественниках и о базовых механизмах обеспечения безопасности.
# факты | Как устроен Android?
Сегодня настала пора поговорить о мобильной операционной системе, которая настолько популярна, что некоторые аналитики даже прогнозируют ее вечное господство. Разговор предстоит довольно краткий и компьютерные специалисты не узнают для себя ничего нового. Но это повествование может оказаться интересным для тех пользователей, которые хотели бы знать некоторые подробности о тех устройствах, с которыми они работают изо дня в день. Современный рынок переполнен планшетами на базе операционной системы Android, поэтому не представляется возможным привести какие-либо «усредненные» спецификации. Планшетные устройства под управлением Android по сути являются просто специализированными компьютерами.
- Процессор, производительность которого ограничена, чтобы сократить тепловыделение
- Чипы памяти
- Чип накопителя и — в ряде моделей — слот для дополнительного накопителя
- Аккумуляторная батарея
- Графический процессор
- Звуковой процессор и динамики
- Сенсоры, в числе которых акселерометры, компас и светочувствительные датчики
- GPS-приемник
- Антенна Wi-Fi и — в ряде моделей — сотовая антенна
- Чип Bluetooth
- FM-тюнер
- Камера (как минимум одна)
В определенных моделях планшетов на базе платформы Android могут отсутствовать некоторые компоненты из вышеприведенного списка.
Все «андроидные» планшеты управляются одной из версий мобильной операционной системы от компании Google. При этом, более старые версии могут не поддерживать некоторые из современных приложений.
Все версии самой популярной мобильной операционной системы имеют общее основание. Мы можем представить себе операционную систему Android в качестве многослойной структуры. Компьютерные инженеры называют это программным стеком. Элементы на вершине стека являют собою то, что видит пользователь в процессе своего взаимодействия с операционной системой. На «донышке» стека находятся те части операционной системы, которые взаимодействуют непосредственно с аппаратным обеспечением устройства.
Итак, на самом нижнем уровне находятся сами аппаратные компоненты: процессоры, сенсоры, провода и печатные платы. Следующим слоем является ядро операционной системы. Ядро иногда еще называют встроенным (или фирменным) программным обеспечением. Более известно англоязычное определение «firmware». Это программное обеспечение осуществляет контроль над аппаратными ресурсами устройства, управление ими и их распределением.
Эта часть операционной системы «переводит» на язык аппаратных компонентов те команды, которые отдает пользователь посредством удобного графического интерфейса. Образцом ядра для Android стала операционная система с открытым кодом Linux 2.6.
Над ядром операционной системы располагаются библиотеки Android. Они являют собой наборы инструкций, которым устройство следует в процессе обработки различных типов данных. Примером может служить библиотека ориентации в трехмерном пространстве. Она содержит все инструкции, которые требуются Android-девайсу для того, чтобы распознавать изменения своего положения в пространстве и реагировать на них.
На том же уровне программного стека располагаются корневые библиотеки, необходимые для поддержки приложений, написанных на языке Java. Java является языком программирования от Sun Microsystems. Еще сравнительно недавно телефоны с поддержкой Java-приложений были очень распространены. В настоящее время они все в большей степени вытесняются смартфонами.
Виртуальная машина Android располагается на том же уровне программного стека операционной системы. Этот элемент программного обеспечения занимается созданием виртуального операционного окружения, которую иначе называют также виртуальной операционной средой. Виртуальная машина имитирует физическое устройство с отдельной операционной системой. Google спроектировала этот уровень так, чтобы каждое приложение, запущенное в операционной системе Android, функционировало в качестве отдельного процесса. Таким образом, если произойдет сбой одного из работающих процессов, остальные останутся незатронутыми. Виртуальная машина также играет роль менеджера памяти.
На следующем уровне располагается инфраструктура приложений (application framework). Она является основой для всех приложений «андроидного» девайса. Инфраструктура приложений является связующим звеном между приложениями и остальными частями операционной системы.
Google рекомендует разработчикам создавать такие приложения, которые взаимодействуют с этим слоем в рамках интерфейса прикладного программирования (API приложений) разработанной поисковым гигантом операционной системы. Разработчикам остается только ознакомиться с этими правилами, имеющими отношение к API. Им не нужно задумываться о технических характеристиках каждого «андроидного» планшета.
Самый верхний уровень программного стека содержит интерфейс пользователя и все приложения «андроидного» планшета. Именно эту часть операционной системы постоянно видит перед собой пользователь. Но за этим привлекательным и красочным слоем скрывается масса скучного, и интересного только специалистам кода.
Как и любая другая операционная система, распределяет время процессора и другие аппаратные ресурсы планшета.
Операционная система Android
Android — это операционная система с открытым исходным кодом, созданная для мобильных устройств на основе модифицированного ядра Linux. Эта ОС разработана консорциумом Open Handset Alliance, состоящим из крупных технологических компаний при организующей роли Google. Исходный код ОС представлен как часть проекта Android Open Source Project (AOSP) с лицензией Apache. Выпущенный на рынок в 2007 году Android вскоре стал самой продаваемой операционной системой в истории, благодаря своей открытой модели разработки и удобному интерфейсу. Последняя версия Android 11 вышла в 2020 году.
История развития
Проект Android появился в 2003 году с целью разработки интеллектуальных мобильных устройств. Начинался он с разработки ОС для цифровых фотокамер, но вскоре акцент сместился на мобильные телефоны из-за их большой распространенности на рынке. В 2005 году проект приобрел Google и в качестве основы для этой ОС было выбрано ядро Linux за счет его гибкости и возможности обновления.
С целью разработки платформы с открытым исходным кодом для мобильных устройств в 2007 году Google сформировала Open Handset Alliance с несколькими производителями оборудования и операторами беспроводной связи. В то время каждый производитель выпускал мобильные телефоны на базе собственной платформы, с ограниченными возможностями для сторонних приложений. Альянс заявил, что открытая платформа обеспечит тесное сотрудничество между производителями и разработчиками, чтобы ускорить производство недорогих инновационных продуктов и приложений.
Платформа Android была представлена в 2007 году и вышла на рынок на следующий год. Поначалу ей мешал ограниченный набор функций и небольшая база пользователей по сравнению с конкурентами Symbian и Windows. Однако возможность обновления стала самым большим преимуществом этой ОС, поскольку каждое обновление давало новые функции и улучшенную производительность. Из-за «сладости, которую они приносят в нашу жизнь», первые версии были названы в честь десертов, в алфавитном порядке, например Cupcake, Jellybean и KitKat. Однако вскоре у Google закончились десерты, и с 2019 года новые версии ОС получают номера, начинающиеся с Android 10. Лицензия с открытым исходным кодом также помогла увеличить популярность этой ОС среди производителей мобильных устройств, поскольку они могут теперь модифицировать ОС под свои требования, не влияя при этом на разработку приложений.
Но самая главная особенность в том, что Android — это больше, чем просто операционная система. Он во многом уравнял мобильные устройства с персональными компьютерами, позволив разработчикам писать приложения независимо от аппаратной платформы устройства. Это привело к созданию глобальной платформы для приложений и укрепило позиции Android, как передовой мобильной платформы, и в 2011 году он стал самой продаваемой операционной системой для смартфонов и для планшетов в 2013 году. Сегодня на Android работает множество электронных устройств, включая смарт-камеры, часы, медиаплееры и многое другое.
Архитектура
Первоначально Android разрабатывался для архитектуры ARM, а затем был расширен для поддержки архитектур x86 и x86–64. Однако в целом Android не заботится об аппаратном обеспечении устройства из-за разнообразия и множества типов среди компонентов в мобильных устройствах.
Основой ОС Android является модифицированная версия ядра Linux LTS, которая непосредственно взаимодействует с оборудованием. Драйверы, необходимые для работы устройства, реализуются производителями оборудования и добавляются в ядро. Это позволяет производителям оборудования разрабатывать драйверы для хорошо известного ядра, а разработчикам ОС игнорировать разнообразие оборудования. Android 11 поддерживает версии ядра 4.14, 4.19 и 5.4.
Особенности оборудования дополнительно маскируются также реализуемыми производителями уровнями аппаратной абстракции, которые предоставляют стандартные интерфейсы для высокоуровневых структур, чтобы обеспечить доступ к аппаратному обеспечению устройства, не заботясь при этом о реализации драйверов.
Android Runtime (ART) — это виртуальная машина, которая выполняет код приложения, содержащийся в файлах Dalvik Executable (DEX). Она управляет компиляцией кода, отладкой и очисткой памяти. Каждое приложение работает со своим собственным экземпляром ART, то есть в своей собственной виртуальной машине, чтобы обеспечить изоляцию кода. ART заменил Dalvik в качестве виртуальной машины Java для Android в 2013 году, поскольку его компиляция Ahead-of-Time обеспечила лучшую производительность по сравнению с компиляцией Just-in-Time у последней.
Собственные библиотеки C/C ++ являются важной частью операционной системы, поскольку большинство основных компонентов Android написаны на собственном коде. Инфраструктура Java API — это шлюз в ОС для всех пользовательских приложений. Он предоставляет множество сервисов для приложений в виде вызовов Java API, включая менеджеры действий, ресурсов и уведомлений, поставщиков контента и систему просмотра. Именно поэтому приложения для Android в основном разрабатываются на Java, хотя собственные библиотеки обеспечивают некоторую поддержку C/C++. Совсем недавно также поддерживался и Kotlin, он даже предпочитался Google для разработки приложений Android. Код компилируется Android Software Development Kit (SDK) и архивируется в виде пакета Android (APK).
Android против Linux
Хотя некоторые считают Android дистрибутивом Linux, он имеет мало общего с обычной ОС Linux.
В традиционном стеке Linux ядро выполняет большую часть системных функций, включая управление памятью и файлами, аппаратное взаимодействие и планирование процессов. Системные функции предоставляются приложениям через библиотеки и вызовы API на языке Си. Именно поэтому GNU C является более важной библиотекой в Linux. Пользователи взаимодействуют с системой через оболочки, которые транслируют пользовательские команды в системные вызовы.
С другой стороны, Android можно рассматривать как пользовательское приложение, работающее в Linux. ОС использует ядро для взаимодействия с оборудованием и управления системой, а затем предлагает свои функции другим приложениям через интерфейс API. Этот интерфейс написан полностью на Java, и даже функции библиотек C/C ++ предложены в оболочках Java. В Android нет оболочки, хотя некоторые утилиты командной строки поддерживаются через приложение Toybox.
Кроме того, Android оптимизирован для мобильных устройств, которые обычно обладают малой вычислительной мощностью, имеют небольшой объем памяти и работают от батарей. По умолчанию, в качестве библиотеки C, вместо GNU, он использует Bionic из-за пониженных требований к памяти и процессору. При нехватке памяти, Android может уничтожить наименее используемые процессы и сбросить блоки разделяемой памяти. Кроме того, здесь реализуется уникальная система управления питанием, в которой устройство остается в спящем режиме, потребляя минимальную мощность до тех пор, пока процесс не запросит ресурс.
Ядро Android
Перед установкой на устройство само ядро Linux подвергается модификации несколькими участниками проекта. Во-первых, разработчики Android оптимизируют ядро LTS для мобильных устройств, вносят коррективы в функции Android и оставляют код как общее ядро AOSP. Разработчики AOSP реализуют большинство изменений в виде драйверов устройств, чтобы гарантировать внесение минимальных изменений в основной код ядра. Это позволяет с минимальными изменениями объединять обновления базового ядра в ACK. Поставщики оборудования добавляют драйверы и уровни абстракции для создания ядра поставщика. Затем, производители устройств обновляют ядро в соответствии со своими требованиями, реализуя новые драйверы или даже улучшая систему. Это ядро, в конечном счете, устанавливается на выпускаемые производителем устройства.
Разработка приложения
Основной принцип разработки в Android заключается в том, чтобы абстрагироваться от вариативности оборудования и предоставить унифицированный интерфейс для приложений. Это достигается запуском всех приложений на виртуальных машинах Java, подобных Dalvik или ART. Еще более способствует этой абстракции и упрощает разработку приложений комплект, состоящий из инфраструктуры Java API и SDK Android. Интерфейс API выполняет всю сложную работу, обеспечивая приложениям доступ к системным ресурсам лишь через вызов функции, в то время как SDK предоставляет визуальные инструменты для создания макетов приложений и управления вводом данных пользователя.
Android предоставляет приложениям большую часть своих функций через службы (services). Служба — это приложение, которое выполняет длительные операции в фоновом режиме. Она не предоставляет пользовательского интерфейса и доступна только через платформу API. Службы также могут выполнять операции в приоритетном порядке и сообщениями уведомлять пользователя. Служба также может быть привязана к приложению и обеспечивать интерфейс клиент-сервер.
Стек Android также включает вторую операционную систему Trusty. Она работает параллельно с основной операционной системой и обеспечивает доверенную среду для изолированного выполнения. В основном она используется для мобильных платежей, безопасного банковского обслуживания, обработки паролей и других процессов, требующих безопасности и конфиденциальности.
Заключение
При первых анонсах Open Handset Alliance их планы по взаимодействию при разработке открытой и многоцелевой платформы представлялись не более чем громким заявлением. Однако через десять лет платформа Android произвела революцию, и не только в мобильной индустрии. Фактически, она породила совершенно новые отрасли промышленности и коренным образом изменила наш образ жизни, работы и общения.
Что такое Android?
Когда речь заходит об Android, многие не совсем понимают, что имеет ввиду человек. Android — это смартфон или операционная система? Что вообще такое «операционная система»? Многим может показаться этот вопрос слишком простым, но не все до конца понимают это. Операционная система — это то, благодаря чему работает смартфон. Одно дело — железка, но без установленной программы она никому не нужна. И задача операционной системы — сделать из устройства полезную вещь. В данном материале мы ответим на вопрос «Что такое Android?», окунем читателя в историю системы и познакомим с операционными системами нового поколения, которые станут заменой Android.
Что такое Android?
Что такое Android?
Android — что это?
Это операционная система. Она была создана Энди Рубином. Он стал источником идеи. Более того, Android мог называться совсем иначе, ведь Энди решил использовать данное название, потому что у него уже был куплен когда-то домен android.com. В 2005 году у Энди кончались деньги, он обращался ко многим компаниям, и тогда на проект обратили внимание ребята из Google. Они купили компанию, и разработчики Android, включая Энди Рубина, стали работать над системой уже под крылом Google.
Когда была создана ОС Android?
Энди Рубин — создатель Android
В 2005 году Google купила компанию Android, сумма сделки составила 130 миллионов долларов. Спустя два года Google запустила альянс OHA и анонсировала открытую платформу Android. С 2007 года разработчикам предоставили доступ к SDK и эмулятору Android. 23 сентября 2008 года вышла первая версия системы. С этого момента и началась эпоха Android-телефонов.
Когда Android стал популярным?
В 2007 году балом правил iPhone. Лишь с выходом Droid от Motorola, который технически был мощнее и функциональнее iPhone, Google удалось немного изменить ситуацию. Примерно с 2009 года люди стали всерьез относиться к Android — в ней начали видеть главного конкурента смартфонам Apple. И если бы не политика распространения системы, как открытой OS, вряд ли сегодня она бы занимала 80% рынка.
Android работает на ядре Linux
Что такое ядро Linux?
Android работает на ядре Linux, создателем которого является Линус Торвальдз. Работу над ядром он начал еще в 1991 году. Код ядра Linux написан на языках Си и ассемблер. Ядро Linux в настоящее время используется не только в Android-телефонах, но еще и в операционных системах семейства Linux (Ubuntu, Fedora, Debian, Red Hat и так далее).
Что такое ядро в операционной системе?
Ядро — это главный компонент операционной системы. Ядро отвечает за взаимодействие операционной системы с процессором, памятью. Оно предоставляет файловые и сетевые сервисы. Ядро — это самый низкий уровень операционной системы в вопросе взаимодействия с аппаратным обеспечением.
Список всех версий Android
- Android 1 «Apple Pie»
- Android 2.3 Gingerbread (дата выхода 2010 год)
- Android 4.0 Ice Cream Sandwich (дата выхода 2011 год)
- Android 4.1 Jelly Bean (дата выхода 2012 год)
- Android 4.2 (дата выхода 2012 год)
- Android 4.3 (дата выхода 2013 год)
- Android 4.4 KitKat (дата выхода 2013 год)
- Android 5.0 Lollipop (дата выхода 2014 год)
- Android 5.1 (дата выхода 2015 год)
- Android 6.0 Marshmallow (дата выхода 2016 год)
- Android 7.0 Nougat (дата выхода 2016 год)
- Android 7.1 (дата выхода 2016 год)
- Android 8.0 Oreo (дата выхода 2017 год)
- Android 8.1 (дата выхода 2017 год)
- Android 9.0 Pie (дата выхода 2018 год)
- Android 10 (дата выхода 2019 год, список телефонов, которые получили Android 10, что нового в Android 10)
- Android 11 (дата выхода 2020 год, Android 11 — список нововведений)
Можно заметить, что в последнее время Google выпускает не так много обновлений. Вероятно, причина в том, что Android уже доведен до ума. Скорее всего, в последние 3 года компания усердно работает над новой операционной системой Fushia. И именно поэтому Android сейчас находится в стадии не очень активных обновлений.
Операционная система Fuchsia
Fushia — операционная система нового поколения
Это новая система от Google, которая должна стать заменой Android. Наступает век систем на микроядре с модульной архитектурой, это позволит разработчикам использовать систему как в умных лампочках и автомобилях, так и в смартфонах и компьютерах. В настоящее время подобную систему разрабатывает компания Huawei.
Harmony OS — операционная система от Huawei
Harmony OS — операционная система от Huawei
Это первая операционная система нового поколения на микроядре и с модульной архитектурой для смартфонов. Китайцы создали её в качестве конкурента Android. Вместе с Harmony OS Huawei будет предлагать потребителям сервисы Huawei Mobile Services с собственным магазином приложений AppGallery.
В данном материале мы рассмотрели что же такое Android, изучили историю, версии а также рассмотрели главного конкурента от Huawei. Остались вопросы? Задайте их в нашем Телеграм-чате, можете подписаться на наши новости в Яндекс Дзен.
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
В мире смартфонов в последние пару лет творится что-то невообразимое. Одни производители уступают другим места в рейтинге отгрузок и расстановка сил меняется каждый квартал. Во многом это связано с тем, что Huawei все больше и больше сдает свои позиции в мире, а ее преданные фанаты переходят на другие бренды, улучшая им статистику. Наблюдать за этим и анализировать, что произойдет дальше, чрезвычайно интересно, и поэтому аналитические агентства постоянно подкидывают нам все больше информации. Сейчас нам дали информацию о том, что творилось на мировом рынке в первом квартале 2021 года. И больше всего удивляет то, что происходит с Xiaomi.
Xiaomi прочно зарекомендовала себя как один из пяти ведущих производителей смартфонов в мире. В последних отчетах о доле рынка отмечается, что она фактически занимает третье место после Apple. Китайский производитель имеет репутацию компании, предлагающей телефоны по выгодной цене, но при этом у нее так же есть очень широкая экосистема продуктов. В том числе и для умного дома. В нее входят ноутбуки, телевизоры и даже рисоварки с пылесосами. А если включить сюда суббренды, которые просто не поддаются счету, картина становится еще более впечатляющей. Вот только если вы думаете, что начинала компания со смартфонов, то вы ошибаетесь. Увы, но то, почему мы сейчас больше всего знаем компанию, появилось уже позже, а в начале было нечто совсем иное.
Найти нормальные качественные обои на свой телефон — крайне трудная задача. Казалось бы, все просто, в интернете куча разных подборок на любой вкус и цвет, в Google Play тоже существует огромное количество разных приложений на эту тему. Однако те, кто хоть раз скачивал заставку на смартфон, меня точно поймут. Найти что-то действительно стоящее на просторах сети очень сложно. В большой куче разных решений трудно не потеряться. Мы постарались разобраться в этом вопросе и готовы порекомендовать вам лучшие решения.
>Список всех версий Android
тут список далеко не ВСЕХ версий Андроид.
Почему-то забыли про версии 1.1, 1.5, 1.6, 2.0, 2.1, 2.2, 3.0, 3.1, 3.2, не говоря уже о версиях третьего порядка…
Умилило «В 2007 году балом правил iPhone. »
Да уж. Только «балерина» была хромой. В iOS даже Copy-Paste «забыли» встроить.Не говоря уже об убогости (по сути) первого iPhone 2S. iPod с функцией «звонилкм».
В 2007-м бал правил Windows Mobile в смартфонах. А уж iOS только потом развился и вытеснил Microsoft полностью.
Что такое Android? Вот все, что вам нужно знать.
Каждый пользователь Android-телефона, безусловно, желает расширить свои знания об устройстве своего мобильного аппарата. Для удовлетворения такой естественной потребности мы приводим статью, подготовленную по материалам одного из популярных интернет-журналов Android Authority описывающую Операционную Систему Android.
Android Authority:
Будучи пользователем старых телефонных «звонилок», рано или поздно настаёт время обновиться с приобретением современного смартфона. Остановив свой выбор на смартфоне с Операционной Системой Android (ОС Android), новые владельцы бывают в замешательстве, не зная, с чего начать. Прежде всего, необходимо понимать, что смартфон – это многофункциональныое мобильное устройство, позволяющее решать множество задач в повседневной жизни, включая звонки по сотовой связи.
Хотя большинство из нас точно знают, что такое Android и как его использовать, все же есть ряд людей, которые плохо знакомы с мобильной Операционной Системой от корпорации Google.
А Вы новичок в Android?
Если да, тогда эта статья специально для вас.
Android развивался с годами и быстро стал доминирующей мобильной платформой во всем мире. По данным агентства StatCounter, по состоянию на июль 2020 года Android занимает более 74% мирового рынка мобильных ОС.
Доля рынка мобильных Операционных Систем по всему миру по оценке StatCounter (июль 2020 года):
- Android — 74.6%;
- iOS — 24.82%;
- Samsung — 0.21%;
- Unknown — 0.13%;
- KaiOS — 0.1%;
- Windows — 0.04%.
Android — это операционная система
Android — это не телефон или приложение, а Операционная Система (ОС), основанная на ядре Linux. В самом простом определении Linux — это операционная система, наиболее часто встречающаяся на серверах и настольных компьютерах. Хотя ОС Android и разработана на базе Linux, но она не полностью использует стандартное ядро Linux. Android — это не просто версия Linux из-за множества изменений, она имеет множество собственных компонентов. При разработке операционной системы Android в ядро Linux было добавлено несколько функций, которые включают в себя: драйвер аварийной сигнализации, отладчик ядра, регистратор, управление питанием, драйвер общей памяти Android и т.д. Эти усовершенствования были построены поверх стандартного ядра Linux.
Резюмируя, можно сказать так, что Android — это специальная операционная система, разработанная для мобильных устройств, на которой работают ваши телефоны и приложения. Все, что вы видите на дисплее вашего устройства, является частью операционной системы. Когда вы получаете звонок, текстовое сообщение или электронное письмо, ОС обрабатывает эту информацию и переводит ее в удобочитаемый формат.
Фото №3. Samsung Galaxy Note 20 и Note 20 Ultra
Android имеет свои версии с различными номерами, что подразумевает значительное повышение функциональности и стабильности работы, и каждая из них имеет своё кодовое имя, как правило, наименование вкусного лакомства. Наверное вы слышали, как кто-то произносит: Android Marshmallow (“Печенье с орехами макадамии»), Nougat («Нью-йоркский чизкейк»), Oreo («Торт Oreo — сделанный из двух шоколадных вафель с кремовой начинкой между ними»), Pie («Пирог») или последняя версия Android 10. Так это всего лишь название версии Android, которая может быть у вас на телефоне. Современные смартфоны и планшеты, выпущенные в этом году, в основном работают под управлением Android 9 Pie или Android 10. Однако ожидается, что уже в этом году появится Android 11.
Производители Android-устройств, такие как Samsung, Huawei, HTC, Motorola, Sony, OnePlus и многие другие, обычно используют собственную фирменную оболочку поверх ОС. Обложка или наложение пользовательского интерфейса — это, по сути, индивидуальный дизайн, который добавляет дополнительные функции к вашему телефону, различные значки и другие настройки, разработанные для обеспечения уникального опыта для выбранного вами производителя телефона. Самые популярные фирменные оболочки это One UI от Samsung, OxygenOS от OnePlus и EMUI от Huawei. Телефон без каких-либо серьезных настроек обычно называют «базовым Android» («стандартным Android»), а пользовательские интерфейсы с незначительными изменениями (например, с телефонами Motorola) часто называют «близкий к базовому».
Начало работы с Android
Прежде чем мы начнем, важно отметить, что шаги, описанные в этой статье, выполняются с использованием устройства под управлением Android без наложения пользовательского интерфейса. Другими словами, между вашим устройством и тем, что показано ниже, может быть несколько отличий, но параметры и настройки аналогичны, и им будет легко следовать.
Начиная с самого начала, вам нужно сделать несколько шагов, чтобы настроить Android-устройство. При первом включении устройства вы увидите экран приветствия, на котором вам нужно будет выбрать язык. Прокрутите вверх или вниз, чтобы сделать свой выбор, а затем перейдите к следующему шагу, нажав кнопку со стрелкой/воспроизведением.
Если вы еще не вставили свою SIM-карту, на следующем экране вас попросят её вставить. Не волнуйтесь, если у вас её нет, вы можете пропустить этот шаг и продолжить настройку, а позже вставить SIM-карту в смартфон.
Фото №5. SIM-карта.
Далее вам будет предложено выбрать сеть Wi-Fi. Если вы находитесь в зоне действия сети Wi-Fi, мы рекомендуем подключиться к ней, так как мастер настройки может синхронизировать вашу информацию с аккаунтом Google на устройстве. Это требует времени и, что более важно, данных. Еще раз, вы также можете пропустить этот шаг, если у вас нет сети Wi-Fi, и синхронизировать устройство позже. Если вы можете подключиться к одной из них, сделайте это, нажав на имя, которое отображается в списке доступных сетей, а затем введите пароль.
На следующем экране вас спросят, есть ли у вас существующая учетная запись Google (аккаунт Google). Если вы не уверены, помните, что если вы пользуетесь Gmail, ответ — да. Если у вас его нет, рекомендуем зарегистрироваться. Наличие учетной записи Google значительно упростит работу с Android. Настройка учетной записи Google на вашем смартфоне или планшете предоставит вам легкий доступ ко всем приложениям Google, включая Gmail, Play Маркет, Календарь и другие, без необходимости каждый раз входить в систему. Вы можете создать учетную запись Google на своем ПК или прямо с телефона.
Если у вас есть готовая учетная запись (аккаунт) Google, нажмите «Да», после чего вам будет предложено ввести свой адрес электронной почты и пароль.
Затем вы сможете настроить некоторые ключевые службы Google, которые выбраны по умолчанию. Во-первых, это «Резервное копирование и восстановление», которое позволит вам создать резервную копию всей вашей информации, включая загрузки и контакты, что позволит вам легко восстановить эту информацию на вторичном или будущем устройстве Android. Вся сохраненная информация связана с учетной записью Google, которую вы ввели на предыдущем шаге.
Фото №7. Google Maps.
Второй и третий варианты зависят от вашего местоположения. Выбор варианта полностью зависит от вас. Службы определения местоположения могут быть важны, поскольку некоторые приложения могут требовать эту информацию для точной работы, например, Yellow Pages (Телефонный справочник «Желтые страницы») и Карты Google (Google Maps). К этим параметрам можно будет получить доступ в меню настроек позже, если вы передумаете. Наконец, вас спросят, хотите ли вы получать по электронной почте новости и предложения от Google Play. Теперь вы можете добавить имя устройства и настроить его. Если вы добавили учетную запись Google, ваше имя и фамилия уже должны быть сохранены.
Главный экран
Выполнив простые шаги по настройке устройства, вы попадете на Главный экран. Опять же, фактический вид домашнего экрана (его значки, элементы дизайна и т. Д.) могут значительно отличаться в зависимости от того, какое у вас устройство. Однако большинство возможностей домашнего экрана будет иметь одни и те же базовые элементы, в том числе Панель приложений, шторку уведомлений и док-станцию с несколькими ключевыми приложениями, такими как номеронабиратель, обмен сообщениями и т. д. Имейте в виду, что некоторые китайские OEM-производители действительно удаляют Панель приложений из управления, однако, это просто означает, что все приложения, которые вы установили на телефон, помещаются на Главные экраны, как и на iPhone.
Фото №9. Панель уведомлений «Star wars edition quick settings». Samsung Galaxy note 10 plus.
В верхней части экрана находится Панель уведомлений, которая включает значки для любых ожидающих уведомлений, которые у вас могут быть, таких как пропущенные вызовы, сообщения, электронные письма, предупреждения Facebook и даже игровые предупреждения. Вы можете получить доступ к уведомлениям, проведя свайпом сверху вниз. Когда Центр уведомлений открыт, вы можете смахнуть свайпом уведомление или нажать на уведомление, чтобы открыть соответствующее приложение.
На этой Панели уведомлений вы также можете получить доступ к некоторым быстрым переключателям для выбора настроек, таких как режимы будильника, включение / отключение Wi-Fi / Bluetooth / режим полета и многое другое. Внизу экрана вы увидите вышеупомянутую док-станцию (Панель быстрого доступа) с несколькими значками. Эти значки будут доступны на каждом экране. Вы можете выбрать, какие приложения вывести на Панель быстрого доступа, и в идеале они должны быть теми, которые вы часто используете.
Фото №10. Панель навигации. Samsung Galaxy S8.
В зависимости от вашего устройства и версии Android, на которой оно работает, под док-станцией может располагаться Панель навигации, состоящая из кнопки «Назад» (возвращает вас к предыдущему экрану), кнопки «Домой» (переводит вас на Главный экран. ) и кнопку «Обзор приложений» («Приложения, к которым вы последний раз обращались») (показывает приложения, которые вы недавно открывали). В старых телефонах под экраном есть физические кнопки, а не экранная Панель навигации, которая обычно имеет те же функции.
На последнем телефоне Android Панель навигации была заменена жестами, к которым нужно некоторое время привыкнуть, но которые обеспечивают более быстрый интерфейс и более чистый вид. Например, на телефонах Android 10 вы можете вернуться назад, проведя свайпом пальцем от края экрана вверх вместо того, чтобы нажимать специальную кнопку возврата.
Чтобы перемещаться между экранами, просто проводите пальцем слева направо. Когда вы дойдете до конца, они больше не будут переходить на следующий экран, если у вас не включена бесконечная прокрутка. Вы также можете видеть точки, соответствующие тому экрану, на котором вы находитесь. Нажав кнопку «Домой», вы вернетесь на Главный экран.
Познакомьтесь с магазином Google Play Маркет
У Google самый большой магазин мобильных приложений, в котором пользователям Android доступны почти три миллиона приложений. Просто зайдите в Google Play Маркет и начните искать отличные приложения, которые могут вам понравиться. Вы также можете проверить некоторые из наших списков лучших приложений, чтобы начать работу.
Вот список лучших бесплатных приложений на август 2020 года, которые вы можете скачать:
Погружение в Android
Мы Вам дали возможность познакомиться с процессом установки Android, но на самом деле мы описали только очень незначительную часть устройства ОС Android.
Рекомендуем посетить веб-сайт Google Android, где вы больше узнаете об истории Android, о способах её использования и о многом другом.