Разработчики проекта LineageOS, пришедшего на смену CyanogenMod, представили выпуск LineageOS 19, основанный на платформе Android 12. Отмечается, что ветка LineageOS 19 достигла паритета по функциональности и стабильности c веткой 18, и признана готовой для перехода для формирования первого релиза. Сборки подготовлены для 41 модели устройств.
LineageOS также можно запустить в эмуляторе Android Emulator и в среде Android Studio. Предоставлена возможность сборки в режиме Android TV и Android Automotive. При установке для всех поддерживаемых устройств по умолчанию предлагается собственный Lineage Recovery, не требующий выделения отдельного recovery-раздела. Формирование сборок LineageOS 17.1 было прекращено 31 января.
Объявлена устаревшей поддержка многих старых устройств из-за удаления iptables из AOSP и перевода Android 12 на использование eBPF для фильтрации пакетов. Проблема в том, что eBPF может использоваться только на устройствах, для которых доступно ядро Linux 4.9 или более новые выпуски. Для устройств с ядром 4.4 поддержка eBPF была бэкпортирована, но на устройства, завязанные на версию ядра 3.18, портирование затруднено. Обходными путями была обеспечена возможность загрузки компонентов Android 12 поверх старых ядер, реализованная через откат на iptables, но изменения не приняты в состав LineageOS 19 из-за нарушения работы фильтрации пакетов. До появления порта eBPF для старых ядер сборки на базе LineageOS 19 для подобных устройств предоставляться не будут. Если сборки с LineageOS 18.1 формировались для 131 устройства, то в LineageOS 19 сборки пока доступны для 41 устройства.
По сравнению с LineageOS 18.1, кроме изменений, специфичных для Android 12, также предложены следующие улучшения:
- Осуществлён переход на ветку android-12.1.0_r4 из репозитория AOSP (Android Open Source Project). Браузерный движок WebView синхронизирован с Chromium 100.0.4896.58.
- Вместо предложенной в Android 12 новой панели управления громкостью реализована собственная полностью переделанная панель, выезжающая сбоку.
- Включён по умолчанию тёмный режим оформления интерфейса.
- В качестве основного инструментария для сборки ядра Linux задействован компилятор Clang, предоставляемый в репозитории AOSP.
- Предложен новый мастер настройки (Setup Wizard), в котором добавлен большой набор новых страниц с настройками, задействованы новые пиктограммы и анимационные эффекты из Android 12.
- Включена новая коллекция пиктограмм, охватывающая почти все приложения, в том числе системные.
- Улучшено приложение для управления галереей фотографий, представляющее собой ответвление от приложения Gallery из репозитория AOSP.
- Внесены улучшения в программу для установки обновлений, web-браузер Jelly, диктофон Recorder, календарь-планировщик FOSS Etar и программу для резервного копирования Seedvault. Добавленные в FOSS Etar и Seedvault улучшения возвращены в upstream-проекты.
- Для использования на устройствах Android TV предложена редакция навигационного интерфейса (Android TV Launcher), избавленная от показа рекламы. В сборки для Android TV добавлен обработчик кнопок, позволяющий использовать дополнительные кнопки на различных пультах дистанционного управления, работающих через Bluetooth и инфракрасный порт.
- Добавлена поддержка сборки в режиме целевой платформы Android Automotive для использования в автомобильных информационно-развлекательных системах.
- Убрана привязка сервиса adb_root к свойству, определяющему тип сборки.
- В утилиту распаковки образов добавлена поддержка извлечения данных из большинства типов архивов и образов с обновлениями, что упрощает извлечение необходимых для работы устройства бинарных компонентов.
- В SDK предоставлена возможность повышения интенсивности опроса сенсорных экранов для сокращение времени реакции на касание к экрану.
- Для доступа к камерам на устройствах на базе платформы Qualcomm Snapdragon задействован API Camera2 вместо специфичного интерфейса Qualcomm.
- Заменены предлагаемые по умолчанию обои рабочего стола и добавлена новая коллекция обоев.
- Функция Wi-Fi Display, позволяющая организовать удалённый вывод на внешний экран без физического подключения к монитору, реализована для всех устройств, в том числе для экранов, поддерживающих проприетарный беспроводной интерфейс Qualcomm и технологию Miracast.
- Предоставлена возможность назначения отдельных звуков для разных типов зарядки (зарядка через кабель или беспроводная зарядка).
- Встроенный межсетевой экран, режим ограниченного сетевого доступа и возможности, связанные с изоляцией приложений, переписаны с учётом нового режима сетевой изоляции в AOSP и применения eBPF. Код для ограничения данных и изоляции сети объединён в одну реализацию.