O que o Project Treble significa para o desenvolvimento futuro de ROM personalizada

Aqui, falamos anteriormente sobre o Project Treble, a maior alteração de baixo nível introduzida na base do Android desde o lançamento do primeiro beta do Android, há quase 10 anos, e como você pode saber se o seu dispositivo possui. Para aqueles que ainda desconhecem o que é o Project Treble, modulariza a camada inferior do Android, separando a implementação do fornecedor (blobs e software proprietários, drivers de CPU e GPU, etc.) da estrutura e sistema principal do Android. Isso resulta na aceleração das atualizações do sistema, modularizando a camada de abstração de hardware (HALs) e separando-a do restante do sistema operacional Android e eliminando a dependência do OEM das atualizações lentas dos drivers dos fabricantes de silício. Esperamos que o objetivo final seja prolongar o período de suporte de atualização de software de 24 meses, prometido atualmente pela maioria dos fabricantes de dispositivos.

Isso deve ajudar a dar aos telefones Android a capacidade de receber atualizações semelhantes à Apple, pelo menos em telefones principais. Enquanto o carro-chefe médio do Android recebe 2 grandes atualizações em um período de 24 meses, os dispositivos iPhone recebem no mínimo 4 anos de atualizações no iOS, incluindo as menores. Nos telefones Android suportados pela Treble, isso pode se tornar realidade, supondo que o fabricante do telefone esteja em falta para atualizar o telefone. Aqueles que desejam manter seus dispositivos atualizados durante um período de tempo semelhante não têm outra opção senão recorrer a ROMs personalizadas.

Felizmente, o Project Treble também deve tornar a grama mais verde para os usuários de ROM personalizados. De fato, ele tem o potencial de mudar completamente o cenário de desenvolvimento de ROM personalizado - e para sempre .


Como as ROMs personalizadas podem tirar proveito do Treble?

A razão pela qual as portas não oficiais do Android Oreo estão sendo trabalhadas lentamente, em vez de apenas algo que os desenvolvedores podem compilar, inicializar e executar é simples. Para abrir uma nova versão do Android em um dispositivo existente, o kernel e a árvore de dispositivos precisam ser fortemente retrabalhados para fazer com que um telefone Android existente funcione com uma versão mais recente do Android. Isso ocorre porque a implementação atual do fornecedor, incluindo todos os blobs binários proprietários, é feita para funcionar com uma única versão do Android e, portanto, precisa ser retrabalhada e portada para a nova versão do Android para que o dispositivo funcione corretamente.

Quase todos os componentes dentro do telefone usam um blob independente e proprietário e precisam ser corrigidos e trabalhados de forma independente para que o software mais recente possa usá-lo, garantindo também que os outros não entrem no processo. Esta é realmente uma tarefa demorada, e a principal razão pela qual as ROMs personalizadas mais estáveis (como semanais do LineageOS ou outras ROMs com suporte oficial) não aparecem até 2-3 meses após a versão final do Android ser lançada no AOSP. Todo esse esforço também significa que a ROM resultante funcionará apenas em um dispositivo ou, na melhor das hipóteses, em alguns dispositivos de especificação idêntica ou similar.

Isso parece estar mudando com o Project Treble, de acordo com Ron Amadeo, da ArsTechnica, e confirmado de forma independente pelo desenvolvedor de ROM personalizado Sultan.

Malchev diz que a Treble padroniza o suporte ao hardware Android a tal ponto que as compilações genéricas do Android compiladas pelo AOSP podem inicializar e executar em todos os dispositivos Treble. De fato, essas compilações "cruas do AOSP" são as que serão usadas em alguns dos testes de CTS que o Google exige que todos os OEMs do Android passem para licenciar os aplicativos do Google - não é apenas que as coisas funcionem, elas precisam funcionar.

Para esclarecer esse ponto, significa que, devido à maneira como a camada inferior do Android foi modularizada, todos os dispositivos Treble no mercado poderão inicializar um estoque genérico, o AOSP Android build . Isso elimina a maior parte do trabalho de transportar ROMs personalizadas para um dispositivo mais antigo, pois uma única versão genérica do Android pode ser executada em muitos dispositivos. Isso aproxima os dispositivos Android de algo como um computador pessoal, onde você pode inicializar a versão mais recente e avançada do Windows 10 ou qualquer distribuição Linux em um computador de 10 a 12 anos.

No entanto, você não poderá inicializar versões genéricas do Android 9.0 perfeitamente funcionais no seu dispositivo Treble - as árvores e os kernels dos dispositivos ainda precisarão ser trabalhados. Ainda é um grande começo: graças aos HALs modularizados, a carga de trabalho para criar a próxima versão do Android deve ser bastante reduzida, e poderemos ver versões estáveis ​​do 9.0 em questão de dias / semanas em vez de meses. Devemos ter em mente que o Project Treble, enquanto está sendo lançado, ainda é um trabalho em andamento, pois ainda recebe alterações no AOSP, e a camada do fornecedor pode eventualmente ser padronizada a ponto de instalar uma nova versão do Android. instalando o Windows em um computador.

Esse é um grande avanço técnico e tem o potencial de melhorar significativamente o desenvolvimento de ROM personalizada baseada em AOSP em nossos fóruns. Mas isso só se aplica a dispositivos com o Project Treble, e atualmente os únicos telefones Treble disponíveis no mercado são o Google Pixel, Google Pixel XL, Sony Xperia XZ1 e XZ1 Compact. O que acontecerá com os telefones pré-Oreo existentes?


Uma ROM personalizada poderia levar o Treble a um telefone existente?

Já tínhamos o catálogo completo de ROMs Android Oreo para telefones existentes, incluindo telefones Nexus, OnePlus, Xiaomi e Motorola. No entanto, uma dessas ROMs poderia trazer o Project Treble para o seu telefone? A resposta: não é provável .

As alterações feitas na plataforma de baixo nível do Android são realmente complicadas e não são realmente algo que você pode começar a trabalhar em uma ROM personalizada comum. Não é algo como controles de torta ou gestos de dispositivo, mas um redesenho total da implementação do fornecedor. Isso é algo que exige que o trabalho da Qualcomm e de outros fabricantes de silício esteja a bordo. No momento, o Google está trabalhando com diferentes OEMs para levar a Treble a alguns telefones principais existentes, mas mesmo assim, não temos certeza do que os OEMs estão trabalhando desde que a lista não foi divulgada. No entanto, vimos alguns commits relacionados ao Treble flutuando no LineageOS Gerrit, por isso é seguro dizer que ele está realmente sendo tentado.

No final, é muito cedo para dizer. Já vimos alguns incríveis feitos de desenvolvimento em nossos fóruns antes, incluindo coisas incríveis, como interfaces sem sistema universais ou atualizações de armazenamento eMMC, então quem sabe? Alguém pode, de alguma forma, acabar com o Project Treble trabalhando em um telefone herdado.

Mas só tivemos a chance de pesquisar a fonte do Android Oreo por aproximadamente duas semanas, então, como dissemos, ainda é muito cedo para saber. Ainda estamos animados com as possibilidades e o manteremos informado sobre futuros desenvolvimentos relacionados à Treble no Portal, que é melhor acessado através do aplicativo Labs!

Agradecemos ao membro da equipe Paranoid Android / u / evan1123 por esclarecer um erro no artigo!