O Android P impede que sobreposições personalizadas (temas de substrato) sejam instaladas

A versão mais recente do Android foi lançada (Android 9.0 na forma de Android P Developer Preview 1) para o Google Pixel, Google Pixel XL, Google Pixel 2 e Google Pixel 2 XL e impede que sobreposições personalizadas (temas de substrato) sejam instalado.

Atualização 22h05 CST 08/03/18: um membro da nossa comunidade registrou uma solicitação de recurso no Issue Tracker oficial do Google. Este é o método adequado para chamar a atenção do Google, e conversamos com os desenvolvedores do Substratum e eles também apoiarão esta solicitação. Por favor, marque com estrela, mas NÃO COMENTE esta página se você apoiar o pedido.

O primeiro Android P Developer Preview foi lançado hoje para Google Pixel, Google Pixel XL, Google Pixel 2 e Google Pixel 2 XL. Há uma quantidade enorme de interface do usuário e mudanças na qualidade de vida documentamos aqui, mas há uma mudança oculta que não o deixará feliz: sobreposições personalizadas não podem mais ser instaladas no Android P. Que significa não há mais substrato sem raízes. Chega de temas personalizados. Tudo se foi.

Para quem não sabe, o Android Oreo introduziu o Overlay Manager Service (OMS) da Sony, que pode ser controlado por meio de um comando ADB. Usando um truque inteligente, os desenvolvedores por trás do popular aplicativo de mecanismo de tema Substratum conseguiram desenvolver um complemento chamado Andromeda que permite ao Substratum aplicar temas sem a necessidade de acesso root. Foi uma conquista incrível, pois foi a primeira vez que o Android do Google pôde ter um tema sem a necessidade de uma ROM personalizada ou root para substituir os arquivos do sistema. Usando Andromeda, os usuários poderiam instale um tema escuro, alterar emojis em alguns aplicativos, personalizar os ícones da barra de navegação, tela de bloqueio, miniaturas de aplicativos recentes, configurações rápidas, e muito mais.

Android P implementa o que acreditamos que será chamado Projeto de Materiais 2, e está mais brilhante do que nunca. Temos certeza de que muitas pessoas estarão procurando maneiras de tematizar vários aspectos dele.

No entanto, se você tentar instalar uma sobreposição personalizada no Android P, receberá a seguinte mensagem em logcat:

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.

Isso significa que apenas sobreposições instaladas pelo sistema poderão ser executadas. Este é um comportamento semelhante ao mecanismo de tema no telefone Razer, e é incrivelmente decepcionante ver isso acontecer no Android P.

Confirmei esse comportamento em meu próprio dispositivo. Antes de atualizar meu Google Pixel 2 XL para Android P, desativei todas as sobreposições de substrato para garantir que a atualização ocorresse sem problemas. Quando atualizei, notei que todas as minhas sobreposições instaladas não estavam mais sendo mostradas na caixa "cmd overlay list" comando. Falei com os principais desenvolvedores do Substratum e confirmei que outros estavam enfrentando o mesmo comportamento. Em outras palavras, esta parece ser uma mudança intencional do Google.

Usuários com acesso root também sofrerão com essas alterações, infelizmente. Você não pode simplesmente “forçar” a instalação de uma sobreposição e esperar que ela funcione, porque a incompatibilidade do certificado da plataforma ainda será um problema. É provável que o framework.jar precise ser corrigido para se livrar desse requisito. É claro que ROMs personalizadas seriam capazes de fazer esse tipo de mudança, mas usuários não rooteados não podem.

Para os clientes pagantes do complemento Andromeda para Substratum, a equipe do Substratum afirma que a estrutura Andromeda ainda está em desenvolvimento, então seu dinheiro não terá sido gasto em vão. A equipe tentará lançar uma petição na esperança de que a comunidade expresse sua forte insatisfação com esta mudança, mas, em última análise, a decisão cabe ao Google reverter ou não esta mudança.