Android P блокирует установку пользовательских наложений (тем Substratum)

Выпущена последняя версия Android (Android 9.0 в виде Android P Developer Preview 1) для Google. Pixel, Google Pixel XL, Google Pixel 2 и Google Pixel 2 XL, а также блокирует использование пользовательских наложений (тем Substratum). установлен.

Обновление в 22:05 по центральному поясному времени, 8 марта 2018 г.: член нашего сообщества подал запрос на добавление функции в официальный трекер проблем Google. Это правильный способ привлечь внимание Google, и мы поговорили с разработчиками Substratum, и они также поддержат этот запрос. Пожалуйста, поставьте звездочку, но НЕ КОММЕНТИРУЙТЕ эта страница если вы поддержите эту просьбу.

Выпущена первая предварительная версия Android P Developer Preview. выпущен сегодня для Google Pixel, Google Pixel XL, Google Pixel 2 и Google Pixel 2 XL. Существует огромное количество меняется пользовательский интерфейс и качество жизни мы задокументировали здесь, но есть одно скрытое изменение, которое вас не порадует: на Android P больше нельзя устанавливать пользовательские оверлеи. Это значит

нет больше безродного субстрата. Больше никаких пользовательских тем. Все прошло.

Для тех из вас, кто не знает, в Android Oreo появилась служба Sony Overlay Manager Service (OMS), которой можно управлять с помощью команды ADB. Используя хитрый трюк, разработчики популярного приложения-движка тем Substratum смогли разработать надстройку под названием Andromeda, которая позволяет Substratum применять темы без необходимости root-доступа. Это было невероятное достижение, поскольку впервые в Android от Google можно было использовать темы без необходимости использования специального ПЗУ или корня для замены системных файлов. Используя Андромеду, пользователи могли установить темную тему, изменить смайлы в некоторых приложениях, настроить значки панели навигации, экран блокировки, миниатюры последних приложений, быстрые настройки, и гораздо более.

Android P реализует то, что, по нашему мнению, будет называться Материальный дизайн 2, и это ярче, чем когда-либо. Мы уверены, что масса людей будет искать способы осветить различные аспекты этого проекта.

Однако если вы попытаетесь установить собственный оверлей в Android P, вы увидите следующее сообщение в логарифмический кот:

1239 W PackageManager: Package couldn't be installed in /data/app/com.dropbox.android.SwiftDark.Android81NexusorPixel-wb7JxFaAXaHgw7WkZFCvEQ==
03-07 21:00:13.099 1179 1239 WPackageManager: com.android.server.pm.PackageManagerException: Overlaycom.dropbox.android.SwiftDark.Android81NexusorPixelmustbesignedwiththeplatformcertificate.

Это значит, что разрешено запускать только оверлеи, установленные системой. Это похоже на поведение движок тем на телефоне Razer, и невероятно обидно видеть, как это происходит в Android P.

Я подтвердил это поведение на своем собственном устройстве. Прежде чем обновить свой Google Pixel 2 XL до Android P, я отключил все оверлеи Substratum, чтобы обновление прошло гладко. Когда я обновился, я заметил, что все установленные мной оверлеи больше не отображаются в разделе «cmd overlay list"команда. Я поговорил с ведущими разработчиками Substratum и подтвердил, что другие столкнулись с таким же поведением. Другими словами, похоже, что это намеренное изменение со стороны Google.

К сожалению, пользователи с root-доступом также пострадают от этих изменений. Вы не можете просто «принудительно» установить оверлей и ожидать, что он будет работать, поскольку несоответствие сертификата платформы все равно будет проблемой. Вполне вероятно, что framework.jar потребуется исправить, чтобы избавиться от этого требования. Пользовательские ПЗУ, конечно, смогут вносить подобные изменения, но пользователи без root-прав не могут.

Для платных клиентов дополнения Andromeda для Substratum команда Substratum заявляет, что платформа Andromeda все еще находится в разработке, поэтому ваши деньги не будут потрачены зря. Команда постарается подать петицию в надежде, что сообщество выскажет свое решительное мнение. недовольство этим шагом, но в конечном итоге решение остается за Google, отменить или нет это изменение.