Exclusivo: o Android Oreo receberá suporte para temas sem root em todo o sistema dentro de 1 semana

A versão mais recente do Android Oreo do Google já possui suporte de tema nativo integrado e, graças ao mecanismo de tema Substratum, ele chegará em 1 semana.

Atualização 13/09/17: O complemento Andromeda para Substratum, que permite temas personalizados em dispositivos Android Oreo sem root, foi lançado. Veja este artigo para mais detalhes. O artigo original permanecerá abaixo.

Com todos novo lançamento do sistema operacional Android do Google, há menos motivos para a maioria dos usuários fazer root em seus dispositivos. No entanto, entre os restantes utilizadores que ainda optam por fazer root nos seus dispositivos, uma das razões mais citadas é permitir o suporte a temas em todo o sistema. Normalmente, isso é gerenciado através do Substratum estrutura temática desde o infeliz desaparecimento do mecanismo de tema CyanogenMod. Com o tempo, o equipe por trás do Substratum trabalhou duro para incluir suporte para mais dispositivos, incorporando suporte ao Substratum no nível da ROM para que pudesse ser executado sem acesso root. E agora, a equipe levou o projeto além do que qualquer um de nós poderia ter imaginado, trazendo 

suporte completo a temas em todo o sistema sem root para qualquer dispositivo Android Oreo.

Capturas de tela mostrando Tema Android Oreo Black de Sai rodando em um Google Pixel sem root no Android Oreo 8.0.0

Para você ter uma idéia de como incrível de um desenvolvimento este é, considere que agora será possível o seguinte sem raiz:

  • Tematização do Estrutura Android e IU do sistema Android, bem como quaisquer outros aplicativos do sistema. (Muitos de vocês vão amor ter um tema sombrio disponível, finalmente!)
  • Tema de qualquer aplicativo de terceiros
  • Fontes personalizadas para aplicativos de terceiros
  • Muitas outras modificações, como um mod de relógio central da barra de status

A lista continua! O substrato possui extensa lista de temas disponíveis que apoiam o quadro (todos suportados nesta nova versão do Substratum para Android 8.0), uma comunidade ativa em Google+ e o nosso fóruns, e dado este desenvolvimento o apoio só irá crescer!


Android Oreo e o serviço Overlay Manager

Uma amostra de alguns temas do substrato.

Desde que o Google incorporou suporte nativo para Runtime Resource Overlay da Sony (RRO) mecanismo de tema no Android 6.0 Marshmallow, estávamos esperando para que o Google forneça uma interface integrada, bem como APIs públicas que os desenvolvedores possam usar para criar temas tanto para aplicativos de estrutura do sistema quanto para aplicativos de terceiros. Infelizmente, o lançamento do Android Nougat trouxe poucas novidades desde que o RRO da Sony foi adicionado ao Android Open Source Project (AOSP).

Mas, graças ao trabalho diligente dos engenheiros da Sony Mobile, o mecanismo de tema RRO eventualmente evoluiu para o que é conhecido como Overlay Manager Service (OMS), no qual o Substratum se baseia. A Sony foi a pioneira em relação a uma solução de tema de código aberto, mas desde que seu mecanismo de tema OMS foi aceito no AOSP em torno do Após o lançamento final do Android 7.1, a única maneira de os usuários de dispositivos que não são da Sony aproveitarem as vantagens do mecanismo de tema é por meio de um aplicativo personalizado. ROM.

Isso mudou no Android 8.0. Quando o Substratum foi inicialmente lançado para o primeiras prévias para desenvolvedores do Android O, os desenvolvedores do Substratum perceberam que apoio total para a Sony seguro médico obrigatório estava disponível. Isso significa que um usuário poderia instalar um tema existente com suporte para Substratum e ele funcionaria totalmente em dispositivos Android Oreo sem a necessidade de patches de ROM. Porém, havia apenas um problema: o processo de ativação de um tema Substratum instalado exigia acesso root, ou assim eles pensaram.


Suporte a tema de substrato sem raiz e em todo o sistema para Android Oreo

Enquanto os desenvolvedores silenciosamente trabalham na questão de fornecer aos usuários do Android Oreo uma solução de tema totalmente sem root nas costas gravador, estávamos investigando de forma independente cada visualização do desenvolvedor do Android O e encontrando evidências do mecanismo do tema em ação, no entanto nós o identificamos incorretamente como sendo baseado no RRO mais antigo, em vez do OMS mais recente da Sony. O Google até provocou a comunidade sobre o suporte ao tema em um AMA centrado no desenvolvedor no Reddit, afirmando que ainda havia alguns obstáculos a serem superados antes que uma solução completa de temas pudesse ser integrada ao Android.

Não satisfeitos com essa resposta, queríamos ver até que ponto o Google havia ido para obter suporte temático para Android Oreo. Para fazer isso, pesquisei o código-fonte do Android 8.0 assim que a versão final foi lançada e descobri o existência de comandos shell ADB que podem ativar ou desativar sobreposições, que o escritor do XDA Adam Conway cobriu ontem.

Desativando a sobreposição padrão

Inicialmente, não fiquei muito impressionado com a descoberta, pois, pelo que sei na época, ela era funcionalmente inútil, pois eu e meus colegas tínhamos a impressão de que a instalação um tema ainda exigia acesso root, pois os arquivos do tema precisariam ser movidos para uma pasta inacessível ao espaço do usuário (em/system/vendor/overlay, que é como o RRO funcionou). Nicolau Chum o próprio, um dos principais desenvolvedores do Substratum, comentou em nosso post que já estava ciente da existência desses comandos há algum tempo e já o usa para compilações do Android O.

Uma pessoa, porém, viu surgir uma oportunidade depois que publicamos nosso artigo ontem. Próprio do XDA Jeff Corcoran, o desenvolvedor por trás de nosso programa interno Aplicativo XDA Labs, percebi que havia uma solução alternativa em potencial para fazer com que a interface de linha de comando nativa do Android Oreo para o OMS funcionasse sem root. Envolveu um método que foi utilizado por Hélio, a popular solução de backup não-root e, mais recentemente, pela alternativa de código aberto Greenify conhecida como Brevent.

Privilégios elevados por meio de um script

Normalmente, o "sobreposição de cmd"Os comandos que o Google adicionou à versão Oreo só podem ser executados por meio de um dispositivo com privilégios de root ou por meio de um dispositivo conectado a um computador que invoca o shell Android Debug Bridge (ADB). Um punhado de desenvolvedores inteligentes, como os desenvolvedores Helium e Brevent, ao longo dos anos descobriram como essencialmente elevar os privilégios de um aplicativo em execução no telefone para corresponder aos do ADB concha. Ao fazer isso, o aplicativo pode enviar comandos que normalmente não poderia devido a permissões restritas. No caso do Substratum, isso significa o aplicativo pode instalar e ativar ou desativar temas do Substratum sem root.

Essa constatação foi um principal descoberta que só foi descoberta ontem à noite. No decorrer de algumas horas, Nicholas (com a ajuda de Jeff) conseguiu criar uma versão alfa rápida de um gerenciador de temas Substratum sem root para dispositivos Android Oreo. E funciona – mas com algumas ressalvas.

Advertências sobre suporte de substrato sem raiz

O processo necessário para conceder privilégios elevados ao shell do Substratum ADB exigirá o uso de um muito simples e leve aplicativo de desktop (ou apenas um comando shell ADB, se você souber o que está fazendo). Uma vez concedido, o Substratum funcionará como esperado, sendo capaz de gerenciar todos os temas do Substratum instalados. Todos os temas que você instalar permanecerão instalados até que você decida desinstalá-lo através do Substratum novamente.

No entanto, os privilégios concedidos ao Substratum são transitórios, pois são perdidos quando o usuário executa uma reinicialização completa (embora, felizmente, as reinicializações suaves da UI do sistema não percam o privilégio). Isso significa que você terá que executar o programa de desktop novamente se tiver reiniciado o telefone e desejar usar o Substratum para adicionar, remover ou modificar um tema. Quero reiterar mais uma vez que todos os temas que você instalar permanecerão instalados mesmo se você reiniciar, isso significa que se você quiser alterar alguns temas apenas ocasionalmente, isso deve ser perfeito para você. Você também deve poder alternar temas no menu Configurações, Enquanto o Opção "Tema" do Developer Preview em Configurações de exibição, reconhece os temas instalados e permite alternar entre eles

Finalmente, a última coisa que preciso mencionar é algo que parece óbvio quando você pensa sobre isso, mas na sua excitação ao ouvir as notícias você pode ter esquecido. Seu dispositivo ainda não está rooteado. Isso significa que você não pode tocar ou modificar nenhum arquivo que exija absolutamente acesso root para edição, mesmo que o tema Substratum que você instalou tenha prometido mudar alguma coisa. Desculpe, mas infelizmente isso significa que você não pode aplicar uma alteração de fonte em todo o sistema a traga de volta os emojis de blob, embora, como mencionado no início, é é possível que um tema Substratum altere as fontes de aplicativos individuais.

A necessidade do substrato

Vamos tirar um detalhe importante do caminho agora. Quando isso vai acontecer? Como o título menciona, a primeira disponibilidade pública do substrato sem root para dispositivos Android 8.0, como Google Nexus 5X, Google Nexus 6P, Google Pixel e Google Pixel XL, deve ser dentro de 1 semana. Isso é não é uma garantia de qualquer maneira, pois as coisas podem mudar no processo de desenvolvimento, o que pode exigir investimento adicional de tempo, mas como o OMS já está totalmente suportado no AOSP, tudo o que a equipe do Substratum está trabalhando agora é a interface entre o aplicativo Substratum e o não enraizado dispositivos.

A seguir: será gratuito? Não. O substrato para dispositivos Android Oreo sem root será um aplicativo pago. Não posso dizer quanto custará, pois Nicholas ainda não decidiu o preço, mas tenha certeza de que o preço será justo, dado o valor do que você receberá. Até este ponto, o Substratum estava disponível gratuitamente para muitos dispositivos, então considere apoiar esse tipo de desenvolvimento apoiando primeiro o Team Substratum. Você pode esperar que o Google eventualmente libere aquele tema sombrio que você sempre quis (ha, bom um), ou você pode investir alguns centavos para apoiar o desenvolvimento independente que muitas pessoas consideram garantido.

Ainda não está convencido do seu valor? Você pode tentar instalando temas do Substratum em seu próprio dispositivo 8.0 sem root. Na verdade, foi exatamente isso que fizemos acima. Claro, tivemos um pouco de ajuda de Nicholas para fazer isso. Se você deseja instalar um tema Substratum existente da Google Play Store, aqui estão as etapas gerais:

  1. Baixe e instale o arquivo APK em seu dispositivo.
  2. Extraia o conteúdo e compile cada sobreposição em um arquivo APK individual para cada aplicativo que você deseja ter como tema
  3. Instale cada arquivo APK de sobreposição individual que você compilou manualmente na etapa 2
  4. Para cada APK de sobreposição que você instalar, execute o seguinte comando para ativá-lo: cmd overlay enable
  5. Se você quiser alterar a prioridade das sobreposições, use: cmd overlay set-priority PARENT|lowest|highest
  6. Liste todas as suas sobreposições instaladas com: cmd overlay list
  7. Remova todas as sobreposições que você não deseja: cmd overlay disable

Se você realmente deseja usar a linha de comando para gerenciar temas, fique à vontade! Pessoalmente, não consegui passar da etapa 2. Substratum não está usando algum método oculto que você não possa inventar sozinho, mas está fazendo isso distante mais fácil para você gerenciar. Quando é possível fazer algo manualmente, mas um aplicativo pode fazer isso com muito mais facilidade, costumo deixar o aplicativo fazer seu trabalho. Mas isso depende de você.

Pessoalmente, estou muito, muito animado para ver onde isso vai dar. Para qualquer dispositivo que ainda não suporte um sistema de gerenciamento de tema integrado (como dispositivos Motorola ou OnePlus), agora você tem outro motivo para aguardar a atualização do Android 8.0. Para aqueles que têm a sorte de já provar aquele doce Oreo, vocês têm algo pelo qual ansiar em 1 semana.


P.S. Usuários Samsung, vocês conheciam seus dispositivos já suporta temas Substratum sem precisar de root?

PPS Você é um desenvolvedor interessado em aprender mais sobre o Substratum? Confira o Nicholas incrível apresentação de slides aqui!