Что такое чистый Android
easy

Что такое чистый Android

Там не всё так просто

Сейчас будет текст о мире мобильной разработки и операционных систем. Это полезно для общего развития, но в первую очередь — тем, кто планирует разрабатывать приложения под самую популярную мобильную операционную систему. 

Контекст: что такое Андроид и откуда там грязь

Есть две основные операционные системы для смартфонов — iOS и Android. Первая принадлежит компании Apple и работает только на её устройствах. Вторая создана Google, и её можно использовать на всех остальных устройствах любых производителей. Понятно, что по числу устройств это самая популярная мобильная операционка. 

Каждый производитель лицензирует Android для себя и пишет под него свои расширения: настраивает внешний вид окон, ставит какие-то свои панели управления, добавляет новые возможности и т. д. Эти надстройки дают производителям конкурентное преимущество: без них все телефоны работали бы одинаково, покупать один вместо другого не было бы смысла. А так каждый производитель пытается изобрести что-то своё.

Это приводит к тому, что у некоторых производителей в телефонах много «мусора». С ним телефоны могут начать тормозить с первого же дня использования. Поэтому некоторые технически подкованные пользователи хотят себе «чистый Андроид». 

Некоторые производители утверждают, что их Андроид чистый. Но это не совсем так: строго говоря, чистый Андроид не стоит ни на одном телефоне. Давайте разберёмся, как такое возможно и что такое «чистый Андроид» на самом деле. 

Чистый Андроид — это просто фреймворк для запуска приложений

Когда компания Google в 2008 году решила сделать операционную систему для мобильных устройств, то за основу она взяла ядро Linux.

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

Разработчики добавили в сборку Андроида специальные графические модули, которые решают простые задачи:

  • нарисовать окно приложения;
  • показать кнопку;
  • сделать окно ввода текста;
  • показать клавиатуру;
  • научить экран правильно передавать нажатия в приложения.

👉 Это и есть чистый Андроид. У него нет своей встроенной графической оболочки с рабочим столом, ярлыками и заставками. Всё это появляется гораздо позже.

Этой сборкой никто не пользуется в чистом виде. Раньше она шла сразу на следующий этап, теперь появился промежуточный — проект Treble.

Что такое чистый Андроид и зачем он нужен
Если ядро Linux обнаружит серьёзную проблему, то оно прекратит работу и выведет сообщение в текстовом виде, как будто экран телефона — это монитор компьютера. Потому что по сути это Linux, для которого экран телефона ничем не отличается от монитора компьютера

Проблема с Андроидом и поддержкой

Представьте, что вы производитель смартфона на Андроиде. 

У вас в линейке 30 устройств, выпущенных за последние 6 лет. В них используется 10 разных процессоров, 5 радиомодулей и 10 камер. Всё это частично разработано у вас, частично куплено у других поставщиков.

Когда вы делали все эти устройства, вы писали под всё драйверы. Пять лет назад, например, был Android 10, и все смартфоны того времени получили драйверы на эту версию. Через какое-то время вышел Android 11, и все смартфоны того года получили новые драйверы. И так каждый год для новых устройств. 

А что делать со старыми смартфонами? Если мы хотим, чтобы наши старые устройства поддерживали новый Андроид, нужно писать новые драйверы и накатывать новые версии нашего софта. Но стоит ли это того?

  • Если поддерживать старые устройства, нужно проделать кучу работы. А выхлоп непонятен: ну накатишь ты на старые смартфоны новую операционку, и что? Теперь этим людям не нужно покупать новый смартфон, это тебе же минус. 
  • Если не поддерживать, то клиенты будут недовольны. И в следующий раз они купят телефон у того производителя, который обещает поддержку на много лет. 

Очевидно, что это какая-то ерунда. Но придумали решение. 

Что такое чистый Андроид и зачем он нужен

Проект Treble

В 2017 году запустился Project Treble. Он должен помочь большинству новых устройств получать обновления в течение четырёх лет после выхода, не особо нагружая производителей.

Основную роль в проекте играет Qualcomm — один из крупнейших производителей процессоров для мобильных устройств. Он заинтересован, чтобы все закупали у него процессоры, поэтому разворачивает всю эту программу поддержки. 

Когда Google выпускает очередную сборку Андроида, инженеры Treble добавляют в неё поддержку разного нового железа — беспроводных модулей, модемов, датчиков и всего остального. Получается такая универсальная авоська: чистый фреймворк Андроида плюс куча вспомогательного софта. Эта версия называется CAF (история названия долгая, просто запомните). 

Когда всё готово, CAF-сборка попадает обратно в Google. Там причесывают перышки и собирают единую глобальную сборку — GSI (Generic System Images). На основе этой сборки и происходит выпуск всех версий Андроида, которые долетают до наших смартфонов.

Что такое чистый Андроид и зачем он нужен

AOSP — универсальный Андроид по версии компании Google

А-а-а, это ещё не последняя сборка. 

Google берет свой же Generic System Image и собирает поверх него ещё одну версию Андроида — AOSP. Ее исходный код выкладывают в общий доступ.

AOSP — это аббревиатура от Android Open Source Project (проект Андроида с открытым исходным кодом). Его может скачать, скомпилировать и установить себе кто угодно, но в нём нет:

  • синхронизации данных;
  • возможностей тонкой настройки системы;
  • голосового поиска;
  • некоторых дополнительных сервисов.

А главное — эта сборка не заточена под конкретное устройство и в ней нет сервисов Google. Это значит, что все приложения нужно ставить из сторонних источников или закачивать на телефон самостоятельно в виде файлов. А ещё эта сборка не покажет самые быстрые результаты работы на телефоне — для этого нужно оптимизировать софт под конкретное железо. 

Зато здесь впервые появляется «лончер» — программа, которая отвечает за графический интерфейс: иконки, рабочий стол, уведомления, панель настроек и переключение между приложениями. 

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

Что такое чистый Андроид и зачем он нужен
Интерфейс одной из старых версий AOSP

Pixel Experience — Андроид для телефонов Google

Чтобы дать пользователям всю мощь Андроида, компания Google решила сделать собственный смартфон. Сначала линейку называли Nexus, сейчас — Pixel.

Google не собирают смартфоны сами, а отдают это на аутсорс кому-то из передовых производителей. Раньше их собирали HTC и LG, сейчас этим занимается Foxconn — тот завод, на котором собирают Айфоны. Всякий раз Google старается воплотить в своих смартфонах все свежие технологии и железо последнего поколения. Потом проходит 2–3 года, выходит новое поколение железа, и по новой. 

Софт под эти смартфоны Google делают сами. Идея в том, чтобы заточить сборку GSI под конкретный телефон и реализовать весь потенциал операционной системы. 

Для этого Google делает свою версию Андроида, которую принято называть Pixel Experience. В ней собраны все передовые решения компании, и у этих телефонов самый долгий цикл обновлений. Телефоны стали популярными, и в сети появилась отдельная команда, которая делает прошивки с этой системой под другие телефоны.

По мнению некоторых, именно эта версия считается чистым Андроидом, потому что её делает сама компания Google. Но как тогда быть с AOSP, который тоже делает Google?

Что такое чистый Андроид и зачем он нужен
Что такое чистый Андроид и зачем он нужен
Лаунчер Google Pixel
Что такое чистый Андроид и зачем он нужен
Интерфейс поиска в Google Pixel 4

Весь остальной Андроид

Кроме предыдущих двух направлений Андроида, есть ещё третье — когда компании-производители телефонов берут GSI и делают на её основе что-то своё:

  • допиливают драйверы и софт под свои телефоны;
  • добавляют приложения;
  • ставят свой лончер;
  • добавляют новые возможности (например, жесты), которых не было в оригинальном Андроиде;
  • добавляют поддержку оборудования (например, пера);
  • оптимизируют всё во имя быстродействия или экономии энергии.

Это тоже Андроид, но заточенный под конкретного производителя и модель устройства. Это точно не чистый Андроид, но иногда он работает быстрее, чем AOSP, установленный на том же телефоне. 

Нужен ли «чистый Андроид?»

С одной стороны, чистый Андроид нужен: там нет никакого лишнего софта и всё должно работать быстрее. А ещё Google не может собирать твои данные (в теории).

С другой стороны, чистый Андроид не нужен, потому что в нём нет оптимизации под конкретное железо. Ну и поставить его — тоже задачка. 

В обычной жизни людям важнее, чтобы в телефоне были нужные им функции, а не чтобы какое-то действие происходило на микросекунду быстрее. Поэтому не заморачивайтесь и пользуйтесь стандартной прошивкой Андроида от производителя. 

С другой стороны, если вы хакер или у вас на смартфоне развёрнут веб-сервер или ферма для майнинга, то для вас чистый Андроид может быть полезен. 

И что мне с этим делать? 

Если у вас Айфон — переходите на Андроид, у нас можно платить телефоном в России.

Если у вас старый телефон или планшет на Андроиде, можно установить на него AOSP и посмотреть, каков он — чистый Андроид. Приятного мало, но можно ради науки. 

Если хотите потыкать в Андроид на компьютере, установите любую виртуальную машину с соответствующим образом. Их в интернете вагон, всё отлично работает на компьютере.

Если хотите писать приложения на Android, будьте готовы изучать Java и приходите на курс Практикума, баннер ниже.

Корректор:

Ира Михеева

Художник:

Алексей Сухов

Вёрстка:

Кирилл Климентьев

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Вам может быть интересно
easy