Что такое Project Treble и будущее обновления Android ОС

21.11.2020 0

Самая большая проблема операционной системы Android — это долгие обновления. Понятно, что для Nexus и Pixel устройств обновления системы выходят очень быстро, но к сожалению другим OEM-производителям стоит ждать довольно долго, пока выйдут специальные версии, которые компании будут дорабатывать. Многие пользователи жалуются уже очень давно на данную проблему.

Вот буквально с выходом Android 8.0 Oreo компания Google анонсировала специальную структуру новой ОС под названием Project Treble. Данная структура позволит ускорить процесс обновления операционной системы для OEM-производителей в несколько раз. Project Treble, возможно, является одним из самых больших изменений в Android Oreo. В данной статье мы расскажем как это повлияет на Android в будущем.

Project Treble

Если вы хотите начать разработку приложения для следующей версии Android – вы уже можете протестировать своё приложение с помощью эмулятора Android Studio, или смартфона линейки Google Pixel. В этом году Google представила очередную разработку под названием Project Treble, которая позволит производителям быстрее выпускать обновления для приложений на Android. Вы можете установить официальную GSI-сборку Android Q на своё устройство, если оно совместимо с Project Treble.

Суть Project Treble заключается в модульности операционной системы, когда основа ОС отделена от установленных поверх неё прошивок. Это позволит производителям менять только основу ОС при выходе новых версий Android, что увеличит скорость выхода обновлений. В дополнение к тестам CTS, с помощью которых тестируются приложения, появился новый набор тестов VTS, или Vendor Test Suite.

С помощью тестов VTS производители смогут проверить, соответствуют ли их устройства требованиям Project Treble. Одна из самых главных деталей, которую необходимо проверять производителям устройств при выходе очередного обновления – это возможность загрузки GSI-сборки на устройства, совместимые с Project Treble. GSI-сборка – это чистая версия Android, которую используют производители устройств для проверки на наличие поддержки Project Treble, при выпуске нового смартфона. Однако Google хочет, чтобы разработчики использовали GSI-сборки для проверки своих приложений на совместимость с актуальной версией Android.

Например, если у вас смартфон Google Pixel, единственный способ протестировать своё приложение в будущей версии Android – это установить эмулятор Android Studio. Вы также можете воспользоваться специальным облачным сервисом для тестирования, ну или купить смартфон Google Pixel.

У каждого из этих способов есть свои преимущества и недостатки, но если у вас есть рабочее устройство, которое совместимо с Project Treble, и вы не хотите тратить деньги на покупку полной версии Android Studio, чтобы снять все ограничения, почему бы не установить GSI-сборку на своё устройство? Если ваше приложение будет хорошо работать на GSI-сборке, то оно, скорее всего, будет также работать на всех устройствах с этой версией Android.

Открытый код Android Q не будет доступен до августа 2020 года, поэтому официальные GSI-сборки – это единственный способ протестировать Android Q на смартфонах, которые не входят в линейку устройств Pixel.

Как будут работать новые обновления

Очень важно знать, что Android использует ядро Linux. Оно является частью операционной системы, которая обрабатывает команды для ввода и вывода определенных данных. Иными словами, благодаря ему программное обеспечение взаимодействует с оборудованием. Чтобы внести какие-либо изменения в Android ОС, придется также изменить систему работы с ядром Linux.

Чтобы решить проблему уровня абстракции аппаратного обеспечения, Android Oreo получил разделение между вспомогательными системами, такими как аудио или камера, и их клиентами со стороны программного обеспечения. Эти новые разделы определяют интерфейс между HAL и его пользователями. На данный момент существует около 60 таких разделов для различных аппаратных компонентов (HIDL).

Главная цель HIDL — позволить заменить фреймворк без необходимости изменения HAL. HAL будут создавать производители смартфонов и процессоров. Их будут встраивать в устройства. Благодаря этому фреймворк сможет изменяться после обновлений (OTA) без необходимости изменения HAL. Чтобы обновлять устройства, работающие с более ранними версиями Android до Android Oreo, надо будет пройти старую процедуру обновления. А уже потом можно спокойно переходить на Project Treble.

Также очень важным нововведением стало то, что поддержка ядра Linux увеличилась с 2-х до 6 лет, благодаря Project Treble. Если раньше устройства (не от Google) получали обновления в течение одного года, то сейчас данный срок может увеличиться в несколько раз.

Как вы можете видеть, переход на Project Treble требует немного работы со стороны производителей оборудования. Как только данное изменение реализуют все OEM-производители на своих устройствах, то им не придется работать над изменениями в новой ОС. Надо будет лишь обновить фреймворк старой операционной системы на новый.

В официальном описании Project Treble говорится о том, что все новые устройства, которые выйдут уже с Android Oreo на борту, получат поддержку данной структуры. А это значит, что смартфоны, которые обновятся с Android 7.0 до 8.0, скорее всего, не будут ее поддерживать. Например, недавно вышедший OnePlus 5T, который из коробки работает на Android Nougat. Но в тоже время, первое поколение смартфонов Pixel после обновления до Android 8.0 Oreo получило поддержку Project Treble.

Естественно Project Treble не подразумевает то, что все смартфоны будут получать обновления мгновенно, т.к. Google не обрабатывает их напрямую. OEM-производители по-прежнему будут добавлять какие-то изменения в систему, а также внедрять собственное программное обеспечение. Поэтому добавление своих функций, а затем тестирование новой ОС займет некоторое время. И только потом они смогут присылать обновление на смартфоны. В любом случае, процедура будет занимать гораздо меньше времени.

Требования

Перед началом установки бета-версии Android Q необходимо проверить устройство на совместимость с Project Treble, и можно ли установить образ системы из загрузчика.

Что нужно сделать в-первую очередь?

  • Разблокировать загрузчик, если он заблокирован. Некоторые смартфоны Samsung на Snapdragon, Huawei, Honor, Nokia (кроме Nokia не подойдут.
  • На вашем ПК должны быть установлены последние утилиты и . Использование устаревших версий утилиты Fastboot может привести к различным ошибкам.
  • Ваше устройство должно подходить под один из этих пунктов, чтобы поддерживать работу с Project Treble:
      Устройство работает на Android 9 Pie прямо из коробки. В случае, если вы купили устройство с предустановленным Android 9 Pie, то можете пропускать следующий шаг.
  • При выходе на рынок, устройство работало под управлением Android 8.0 или 8.1 Oreo, но было обновлено до Android 9 Pie. Чуть ниже мы расскажем, как выяснить это.
  • Перед тем, как мы приступим к следующему шагу, мы должны вас предупредить, что при установке GSI-сборки придётся полностью форматировать ваше устройство. Поэтому сделайте резервную копию своих данных, прежде чем приступать к каким-либо действиям.

    Ещё один важный момент, все GSI-сборки не проходят тесты CTS на момент своего выхода. Поэтому, если ваше приложение использует протокол SafetyNet для проверки устройства на прохождение CTS-теста – ничего не получится. Кроме того, эти сборки не рекомендуется использовать на постоянной основе, так как они полны различных багов. Google опубликовала список с известными на данный момент багами GSI-сборок у себя на сайте. В случае обнаружения новых багов, вы можете сообщить об этом Google, заполнив соответствующую форму (см. Google Issue Tracker).

    Вывод

    По мнению Google, Project Treble ускорит и упростит выход обновлений. А первой модульной версией ОС, станет Android 8.0 Oreo, где реализована установка обновлений, при полном отсутствии свободного места во внутреннем накопителе. Так же, если производитель мобильного устройства прекратит дальнейшую поддержку, при помощи Google Play получится и дальше получать актуальные патчи безопасности, где закрыты различные уязвимости системы. Владелец не получит новые функции, за то снизится вероятность взлома и кражи личной информации.

    Post Views: 0

    Проверяем совместимость с Project Treble

    Откройте консоль на компьютере и введите следующую команду:

    adb shell getprop ro.treble.enabled

    Если в ответ придёт false, значит ваше устройство не совместимо с Project Treble. Так что дальше можете не продолжать. Если же ответ true, переходим к следующему шагу.

    Затем вводим эти команды:

    adb shell cat /system/etc/ld.config.28.txt | grep -A 20 “[vendor]”

    В полученном ответе нужно найти раздел [vendor], а внутри этого раздела найти строку namespace.default.isolated. Если напротив стоит значение true, значит на ваше устройство можно установить GSI-сбоку поверх образа Android 9 Pie. Если же стоит значение false, тогда вы можете установить GSI-сборку только той версии, которая сейчас стоит на вашем устройстве.

    Как это должно выглядеть на примере OnePlus 6T

    Теперь вам нужно подтвердить, есть ли на вашем устройстве рут. Если ваше устройство было обновлено до Android 9 Pie, наличие рута необязательно, но он необходим для поддержки OTA-обновлений. Введите следующие команды, чтобы проверить, есть ли на вашем устройстве рут:

    adb shell cat /proc/mounts | grep -q /dev/root && echo “system-as-root” || echo “non-system-as-root”

    Теперь, когда вы убедились, что ваше устройство поддерживает Project Treble, вам нужно выяснить какую версию GSI-сборки скачивать, так как есть различные образы для различных архитектур. Введите следующую команду, чтобы узнать, какая архитектура используется на вашем устройстве:

    adb shell getprop ro.product.cpu.abi

    Выпишите на листок бумаги полученную информацию: она вам понадобится при скачивании GSI-сборки.

    Главный недостаток Android

    Статистика Google по распространению версий Android, опубликованная в мае 2020 года

    Начну со своей небольшой предыстории. В 2020 году я стал обладателем флагманского смартфона Samsung Galaxy S8. Мне он понравился своим дизайном, а также тем, что аппарат вплоть до 2020 года активно получал обновления ПО. До этого я никогда не пользовался флагманами и мне казалось, что обновления будут приходить параллельно с выходом релизной версии Android. Однако, к примеру, Android 9 вместе с обновленной оболочкой One UI «прилетел» ко мне лишь весной 2020 года, хотя официально он уже был представлен осенью 2020 года. И, изучив чуть более глубже эту тему, я выяснил, что задержка в получении обновлений — основная болячка всех Android-устройств. Давайте взглянем на статистику. По данным за 2020 года на Android Pie работают лишь 10% процентов всех мобильных устройств, а самым распространённым релизом является Android 6.0 Marshmallow. На нем работают 16,9% всех Android-устройств. Да, в 2020 году самым популярным являлся релиз операционной системы, вышедший в 2015-м.

    Самые актуальные прошивки своевременно получают только фирменные смартфоны Google, за остальные смартфоны ручаются сторонние бренды. И даже тут вина лежит не на них. Вина здесь лежит на фрагментации Android. Именно за этот момент, кстати, многие пользователи смартфонов от Apple ругают Android, мол любой iPhone всегда получает обновления одновременно со всеми остальными. Это действительно так, вот только устройств на базе процессоров Apple, да и самих iPhone в списке обновлений, как правило, не так много. Оптимизировать программное обеспечение под небольшой перечень аппаратных комбинаций не так сложно, а что в таком случае делать производителям Android-устройств, у которых в линейках десятки разных устройств на разном железе?

    Именно на оптимизацию прошивки и уходит львиная доля времени, из-за чего покупатели даже флагманских смартфонов порой ждут по полгода. В Google это поняли и, чтобы хоть как-то сгладить ситуацию, в 2020 году разработчики представили Project Treble. Согласно условиям, все девайсы, работающие из коробки на Android 8.0 Oreo и выше, поставляются с поддержкой этой программы. Пользователям старых версий, к сожалению, воспользоваться всеми прелестями Project Treble не удастся.

    Скачиваем GSI-сборку

    Ссылки на скачивание официальных GSI-сборок Android Q доступны на официальном сайте . Вам нужно скачать подходящую версию, в зависимости от архитектуры устройства, которую мы узнали из предыдущего шага. Скачивание может занять продолжительное время, если вы выбрали билд с мобильными сервисами Google. Рекомендуем скачивать именно такой вариант, так как вы сможете протестировать своё приложение сразу с установленными Google-сервисами.

    Как только файл скачается, распакуйте его. Внутри должно быть 2 файла: system.img и vbmeta.img.

    Установка GSI-сборки

  • Перезагрузите загрузчик устройства, используя следующую команду:adb reboot bootloader
  • Далее нам нужно отключить Android Verified Boot (AVB). Вводим следующую команду:fastboot flash vbmeta vbmeta.img
  • Форматируем систему:fastboot erase system
  • Теперь можно начинать установку GSI-сборки Android Q:fastboot flash system system.img
  • Как только установка завершится, удаляем пользовательские данные:fastboot -w
  • Перезагружаем устройство:fastboot reboot
  • На этом всё, при дальнейшем запуске смартфона он должен запуститься с установленной GSI-сборкой. Стоит отметить, что Android Q beta 2 GSI не получается установить на OnePlus 6T, а вот на Xiaomi Mi 9 можно. Пишите свои мысли о новом Android Q в комментариях.