Uma revolução nas ROMs personalizadas: como o Project Treble faz da portabilidade do Android Oreo um trabalho de 1 dia

Os fóruns são a reunião central do desenvolvimento personalizado de ROM há anos. É graças ao trabalho árduo dos desenvolvedores em nossos fóruns que muitos smartphones Android mais antigos são mantidos vivos por ROMS personalizadas, algumas vezes anos depois que os dispositivos foram abandonados pelo fabricante do dispositivo. Embora a maioria dos fabricantes libere métodos de desbloqueio do carregador de inicialização nos dias de hoje, atrasos freqüentes nas versões de código-fonte do kernel sufocaram o desenvolvimento de ROM personalizado em muitos smartphones. Isso pode mudar em breve, no entanto, graças a algo chamado "Project Treble", que foi anunciado próximo ao lançamento do Android Oreo. Graças ao Project Treble, o tempo necessário para portar uma ROM AOSP em um dispositivo não deve mais demorar semanas ou meses - em vez disso , deve demorar apenas alguns dias .

Para aqueles que seguem a cena da ROM personalizada há anos, você já deve estar ciente de quão importante é essa notícia. O desenvolvedor reconhecido OldDroid chamou essa revelação de " avanço " no desenvolvimento personalizado da ROM do AOSP. Graças ao suporte do Project Treble, por exemplo, eu consegui inicializar uma ROM do Android 8.0 Oreo quase totalmente funcional no Huawei Mate 9 - um dispositivo que até agora ainda não tinha visto uma única ROM do AOSP Android Nougat .

Em breve, estaremos vendo uma revolução no desenvolvimento de ROMs personalizadas, graças aos esforços de desenvolvimento inicial nessa frente pelo membro sênior phhusson. Após 20 horas de trabalho pesquisando, desenvolvendo e depurando comigo, phhusson criou uma imagem do sistema que pode ser inicializada em vários dispositivos de diferentes fabricantes e com SoCs completamente diferentes . Por exemplo, a mesma imagem do sistema que eu inicializei no meu próprio Huawei Mate 9 também é inicializada no Honor 8 Pro, Honor 9, Sony Xperia XZ1 Compact e no Essential Phone. São 3 OEMs diferentes (Huawei / Honor, Sony e Essential) e 2 SoCs diferentes (HiSilicon Kirin 960 e Qualcomm Snapdragon 835) onde essa imagem de sistema único pode ser inicializada com êxito.

É possível que, no futuro, possamos ver uma única imagem do sistema que possa funcionar em dezenas de diferentes smartphones Android, como o Microsoft Windows pode ser executado em praticamente qualquer hardware de computador. Para incentivar mais desenvolvimento nessa área, abrimos um novo fórum dedicado aos dispositivos habilitados para o Project Treble . O fórum é voltado para desenvolvedores no momento. Portanto, evite iniciar um novo thread, a menos que você esteja interessado em contribuir para o desenvolvimento. Se você deseja ajudar a testar imagens do sistema compatíveis com o Treble, fique à vontade para deixar comentários nos threads existentes.

Participe do Fórum de Desenvolvimento de Agudos do Projeto

Dada a importância desse desenvolvimento e a complexidade do tópico, pensei em abordar este artigo de maneira um pouco diferente dos outros. Vou examinar uma lista de tópicos explicando algumas perguntas comuns que as pessoas podem ter, além de apontar os principais fatos sobre esse último desenvolvimento.


O que é o Project Treble?

Créditos: Google

O Project Treble é mais comumente descrito como uma tentativa do Google de modularizar a estrutura do sistema operacional Android para separar o código específico do fornecedor. Vamos detalhar um pouco mais:

  • O processo de atualização completo para trazer uma nova versão do Android para os dispositivos é um tópico longo e complexo, mas a Sony fez um ótimo trabalho com este infográfico, que descreve as etapas básicas.
  • O "fornecedor" geralmente se refere a fabricantes de silício como a Qualcomm, mas também pode se referir ao fabricante de qualquer outro hardware proprietário encontrado em um dispositivo. O "fabricante do dispositivo" ou "OEM" geralmente precisa esperar o fornecedor atualizar seu código para que o hardware proprietário funcione com a estrutura do sistema operacional Android em uma versão mais recente do Android.
  • No entanto, o que está acontecendo com o Project Treble é que o Google exige que qualquer código específico do fornecedor seja separado da estrutura do sistema operacional Android e viva em sua própria implementação. Geralmente, isso significa que agora existe uma partição separada / fornecedor em smartphones habilitados para Treble que contém vários HALs (Hardware Abstraction Layers).
  • Além disso, os fornecedores devem implementar um código que permita que a estrutura do sistema operacional Android se comunique com os HALs de maneira padronizada. Isso é feito via HIDL (HAL Interface Definition Language). Com isso, um OEM pode trabalhar em uma atualização do Android sem precisar esperar que os fornecedores atualizem seus HALs. Teoricamente, isso deve acelerar todo o processo de atualização do Android, pois os fornecedores podem atualizar seu código a qualquer momento na Play Store, por exemplo.
  • Para ajudar a entender o que é um HAL e como ele se relaciona com o Android, vamos considerar uma analogia. Imagine um carro. O volante e os freios são o HAL, enquanto o motorista é a estrutura do sistema operacional Android. O motorista (Android) move o volante e pressiona os freios (o HAL) para controlar o movimento do carro (o hardware).
  • Agora imagine se vivêssemos em um mundo onde todos os fabricantes de automóveis decidissem projetar seus volantes ou reorganizar seus freios de uma maneira completamente diferente. Se você colocar um motorista em um carro novo, eles podem ser confundidos com a forma de manuseio do veículo. Mas, graças aos padrões, todo motorista deve estar familiarizado com a forma de operar o volante e os freios em quase qualquer carro. Além disso, a escola de condução ensina a todos os motoristas a maneira correta de operar um veículo. Nesta analogia, os padrões do veículo são o Project Treble e a escola de condução é o HIDL.

Android Oreo no Honor 8 Pro. Créditos: Desenvolvedor Reconhecido OldDroid

Quais dispositivos receberão suporte do Project Treble?

  • Todos os dispositivos iniciados com Android 8.0 Oreo ou superior devem oferecer suporte total ao Project Treble.
  • Todos os dispositivos que atualizam para o Android 8.0 Oreo não são necessários para oferecer suporte total ao Project Treble.
  • Os dispositivos que possuem atualizações (lançamentos oficiais ou betas fechados) para o Android 8.0 Oreo e suportam o Treble incluem o seguinte:
    • Google Pixel
    • Google Pixel XL
    • Huawei Mate 9
    • Honor 8 Pro
    • Honra 9
    • Telefone Essencial
  • É improvável que qualquer dispositivo receba oficialmente o suporte do Project Treble por meio do desenvolvimento de ROM personalizado. Afinal, os HALs não são de código aberto.

Por que o Project Treble é tão importante para as ROMs AOSP?

  • Para garantir que o código do fornecedor seja separado adequadamente da estrutura do sistema operacional Android da maneira que o Project Treble exige, o Google configurou um VTS (Vendor Test Suite) que os dispositivos devem passar para serem certificados pelo Google. A certificação do Google é importante porque, sem ele, um dispositivo não pode ser enviado com aplicativos e serviços do Google Play pré-instalados.
  • Um dos requisitos no VTS é que um dispositivo habilitado para Treble precise inicializar uma compilação AOSP genérica e bruta. Devido a esse requisito, os OEMs precisam enviar dispositivos que possam inicializar o AOSP sem problemas.
  • Embora a ROM exata que o Google usa e compartilha com os OEMs para VTS não seja pública, phhusson, membro sênior, conseguiu descobrir como recriar essa ROM a partir da fonte.
  • Portanto, agora temos uma ROM AOSP em funcionamento que é garantida como inicializável em dispositivos Project Treble . A maior parte do trabalho já foi feita por OEMs e fornecedores; portanto, os desenvolvedores independentes de nossos fóruns não precisam mais mexer com o código-fonte do kernel ou com a HAL hackery. Em teoria, uma ROM AOSP deve "simplesmente funcionar", o que demonstramos ser basicamente verdadeiro nos dispositivos que testamos.
  • No momento, a compatibilidade não é 100% com todos os dispositivos nos quais a imagem do sistema pode ser inicializada. Existem também algumas condições de corrida que precisam ser descobertas. No entanto, o Project Treble reduz significativamente a quantidade de trabalho de desenvolvimento necessário para portar ROMs AOSP em dispositivos que não são do Google. Com a colaboração de mais desenvolvedores em nosso fórum do Project Treble, esperamos ver o desenvolvimento de dispositivos da Treble percorrer um longo caminho.

Como experimento o Android Oreo no meu dispositivo agora?

Se você é realmente aventureiro e deseja experimentar uma dessas versões do Project Treble no seu telefone agora, phhusson tem as imagens do sistema que você precisa baixar em seu tópico em nosso fórum do Project Treble. Há algumas coisas que você precisa ter em mente:

  • Você precisará de um carregador de inicialização desbloqueado e precisará estar familiarizado com o uso de comandos fastboot para exibir imagens em flash.
  • Seu dispositivo deve estar executando o Android Oreo . Essas imagens do sistema não "atualizam" o seu dispositivo. Se você estiver executando um dos dispositivos Huawei / Honor mencionados neste artigo, poderá procurar em nossos fóruns um guia ou usar o serviço FunkyHuawei.club para atualizar não oficialmente o telefone para uma das versões beta fechadas do Oreo.
  • Você deve estar disposto a perder dados ou atualizar as imagens de fábrica durante o teste. A melhor maneira de garantir essa inicialização é limpar a partição de dados do usuário, que inclui a limpeza de todo o conteúdo do armazenamento interno. É claro que você pode fazer backups e transferi-los quando terminar.
  • Atualmente, essas compilações do AOSP não devem ser usadas como drivers diários. Eles são extremamente simples e não oferecem muitos recursos ou aplicativos pré-instalados. Você precisará atualizar os aplicativos do Google. Você precisará inserir manualmente as configurações de APN da sua operadora para fazer com que os dados móveis funcionem (se funcionar). As coisas serão complicadas até que mais esforços de desenvolvimento sejam feitos.

Conclusão

O Google não estava brincando quando disseram que o Project Treble foi talvez uma das maiores mudanças de sempre no funcionamento do Android. Podemos ver por nós mesmos, aqui e agora, quanto impacto isso pode ter. O Treble pode ser o impulso que a comunidade de desenvolvimento precisa para revitalizar a cena ROM personalizada. Demorou menos de um dia para inicializar uma ROM AOSP quase totalmente funcional no Huawei Mate 9. Estou animado para ver o trabalho que será feito para outros dispositivos habilitados para Treble.