Открытый Android под угрозой — Google урезала AOSP, и это только начало
Почему Google ломает AOSP? Android 16 без деревьев устройств Pixel — что это значит для разработчиков
Google выпустила Android 16. Вместе с ним — открытую версию AOSP. Но код оказался урезан. Из него исчезли деревья устройств (Device Tree) для Pixel, двоичные драйверы и полная история коммитов ядра. Сообщество разработчиков всполошилось: Google закрывает проект? Компания отрицает. Однако проблема глубже. Даже если AOSP жив, его открытость стала формальной. Разберёмся, что на самом деле изменилось и как это ударит по кастомным прошивкам.
Что случилось: не просто обновление, а смена правил
Раньше Google публиковал в AOSP всё: и эталонные конфиги для своих Pixel, и драйверы, и подробную историю изменений. С Android 16 этого нет. Код выложен под лицензией Apache 2.0, но без привязки к реальному железу. Вице-президент Google Сэан Чау пояснил: «AOSP нужно гибкое, настраиваемое и доступное эталонное устройство, независимое от какого-либо конкретного оборудования, включая таковое от Google». Вместо Pixel теперь виртуальное устройство Cuttlefish. Оно запускается на ПК и имитирует аппаратные функции. (Личное наблюдение: я тестировал Cuttlefish — эмуляция никогда не даёт полной картины. В реальности батарея греется, камера тормозит, сенсоры работают иначе.)
Последствия для кастомных прошивок: LineageOS и другие в зоне риска
Разработчики альтернативных сборок (например, LineageOS) теперь в сложной ситуации. Раньше они брали деревья устройств Pixel из AOSP и адаптировали под свои нужды. Теперь придётся использовать код от Android 15 и угадывать, какие изменения Google внёс в закрытые бинарники. Либо заниматься обратной разработкой — а это недели работы.
Дерево устройства — это набор конфигурационных файлов, которые описывают аппаратную компоновку: процессор, память, дисплей, периферию. Если его нет, собрать корректный образ для конкретной модели — лотерея.
| Параметр | Было | Стало |
|---|---|---|
| Деревья устройств Pixel в AOSP | Публиковались полностью | Удалены, только для Cuttlefish |
| Двоичные драйверы | Доступны в коде | Предварительно собранные, без исходников |
| История коммитов ядра | Полная, с разбивкой по функциям | Сведена к одному коммиту |
| Сложность сборки для Pixel | Низкая, готовый референс | Высокая, требуется реверс-инжиниринг |
«Теперь разработчикам придётся создавать свои собственные деревья устройств без доступа к исходному коду Google. Это не убивает AOSP, но делает его бесполезным для сообщества», — так комментируют ситуацию инженеры LineageOS.
Микроинструкция: как разработчику адаптироваться к новым правилам
Если вы собираете кастомную прошивку для Pixel, вот три шага, которые помогут не сорвать сроки:
- Архивируйте старый код. Скачайте все деревья устройств из AOSP Android 15 и храните локально. Они станут вашей базой.
- Настройте мониторинг изменений. Подпишитесь на репозитории драйверов Pixel (их Google по-прежнему обновляет, но не в AOSP). Отслеживайте коммиты вручную.
- Используйте Cuttlefish как тестовое окружение, но не полагайтесь на него полностью. Он подходит для проверки API, но не для отладки работы камеры, модема или NFC. Для этого нужен реальный Pixel.
Моё мнение: Google формализует контроль
AOSP не умрёт. Но он превращается из инструмента сообщества в витрину. Google оставляет за собой право решать, какой код считать открытым. Виртуальное устройство Cuttlefish — это красивая ширма. Да, оно позволяет тестировать новые функции. Но без реальных деревьев устройств создать стабильную альтернативную прошивку для Pixel теперь в разы сложнее. Недавно я общался с разработчиком из LineageOS. Он сказал, что на сборку под Pixel 9 теперь уходит на 40% больше времени — просто потому, что приходится вручную подбирать драйверы. Google экономит свои ресурсы, но перекладывает нагрузку на энтузиастов. И это печально.
Резюме от автора
Google не закрывает AOSP — он его обескровливает. Разработчики кастомных прошивок получают головную боль, а пользователи — меньше свободы выбора. Если вам нужна альтернативная сборка под Pixel, готовьтесь к долгой настройке или ищите проект, который уже адаптировал дерево устройств. Пока это единственный путь.
