Uma revolução nas ROMs personalizadas: como o Project Treble torna a portabilidade do Android Oreo uma tarefa de 1 dia

Uma exploração de como o Project Treble revoluciona as ROMs personalizadas. Demorou menos de 1 dia para portar o Android Oreo para o Huawei Mate 9.

Os fóruns XDA têm sido o encontro central para o desenvolvimento de ROMs personalizadas 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 personalizados, às vezes anos depois que os dispositivos foram abandonados pelo fabricante do dispositivo. Embora a maioria dos fabricantes libere métodos de desbloqueio de bootloader atualmente, atrasos frequentes nos lançamentos de fontes do kernel sufocaram o desenvolvimento de ROMs personalizadas em muitos smartphones. Isso pode mudar em breve, no entanto, graças a algo chamado "Projeto Agudos"que foi anunciado perto do lançamento do Android Oreo. Graças ao Project Treble, o tempo necessário para portar uma ROM AOSP para um dispositivo não deve mais levar semanas ou meses – em vez disso deve levar apenas alguns dias.

Para aqueles que acompanham o cenário da ROM personalizada há anos, já devem estar cientes do quão significativa é essa notícia. Desenvolvedor reconhecido pelo XDA VelhoDroid chamou esta revelação de "avanço"no desenvolvimento de ROM AOSP personalizado. Graças ao suporte do Project Treble, por exemplo, consegui inicializar a ROM Android 8.0 Oreo quase totalmente funcional no Huawei Mate 9—um dispositivo que até agora não tinha visto um único AOSP Android Nougat ROM.

Em breve poderemos ver uma revolução no desenvolvimento de ROM customizada graças aos esforços iniciais de desenvolvimento nesta frente por parte do membro sênior do XDA phhusson. Após 20 horas de trabalho pesquisando, desenvolvendo e depurando comigo, phhusson criou uma imagem de sistema que pode ser inicializado em vários dispositivos de fabricantes diferentes e com SoCs completamente diferentes. Por exemplo, a mesma imagem do sistema que inicializei no meu próprio Huawei Mate 9 também inicializa no Honor 8 Pro, Honor 9, Sony Xperia XZ1 Compact e no Essential Phone. Isso é 3 OEMs diferentes (Huawei/Honor, Sony e Essential) e 2 SoCs diferentes (HiSilicon Kirin 960 e Qualcomm Snapdragon 835) onde esta imagem única do sistema pode inicializar com sucesso.

É possível que, no futuro, possamos ver uma única imagem de sistema que possa funcionar em dezenas de diferentes smartphones Android, assim como o Microsoft Windows pode ser executado em praticamente qualquer computador hardware. Para incentivar mais desenvolvimento nesta frente, abrimos um novo fórum dedicado ao Projeto Treble dispositivos habilitados. O fórum é voltado para desenvolvedores neste momento, portanto evite iniciar um novo tópico, a menos que esteja interessado em contribuir para o desenvolvimento. Se você deseja ajudar a testar imagens de sistema compatíveis com Treble, sinta-se à vontade para deixar comentários em tópicos existentes.

Participe do Fórum de Desenvolvimento do Projeto Treble

Dada a importância deste desenvolvimento e a complexidade do tema, pensei em abordar este artigo de forma um pouco diferente dos outros. Estarei apresentando uma lista de marcadores explicando algumas dúvidas comuns que as pessoas podem ter, bem como apontando fatos importantes sobre este desenvolvimento mais recente.


O que é o Projeto Treble?

Créditos: Google

O Projeto 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 as coisas:

  • O processo completo de atualização para trazer uma nova versão do Android aos 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 que o fornecedor atualize 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 Projeto Treble é que o Google exige que qualquer o código específico do fornecedor seja separado da estrutura do sistema operacional Android e, em vez disso, viver na implementação de seu próprio fornecedor. Normalmente, isso significa que agora existe uma partição /vendor separada em smartphones habilitados para Treble que contém um monte de HALs (camadas de abstração de hardware).
  • Além disso, os fornecedores devem implementar código que permita que a estrutura do sistema operacional Android se comunique com HALs de maneira padronizada. Isto é feito através HIDL (Linguagem de definição de interface HAL). Com isso implementado, um OEM pode trabalhar em uma atualização do Android sem ter que esperar que os fornecedores atualizem seus HALs. Teoricamente, isso deve acelerar todo o processo de atualização do Android já que os fornecedores podem atualizar seu código a qualquer momento através da Play Store, por exemplo.
  • Para ajudar a entender o que é 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 driver é a estrutura do sistema operacional Android. O motorista (Android) move o volante e pisa no freio (o HAL) para controlar o movimento do carro (o hardware).
  • Agora imagine se vivêssemos num mundo onde cada fabricante de automóveis decidisse conceber os seus volantes ou reorganizar os seus travões de uma forma completamente diferente. Se você colocar um motorista em um carro novo, ele poderá ficar confuso sobre como lidar inicialmente com o veículo. Mas, graças aos padrões, todo motorista deve estar familiarizado com como operar o volante e os freios em quase todos os carros. Além disso, a autoescola ensina a todos os motoristas a maneira correta de operar um veículo. Nesta analogia, os padrões do veículo são o Projeto Treble e a autoescola é HIDL.

Android Oreo no Honor 8 Pro. Créditos: Desenvolvedor reconhecido pelo XDA OldDroid

Quais dispositivos terão suporte ao Project Treble?

  • Todos os dispositivos que lançamento com Android 8.0 Oreo ou acima deve apoiar totalmente Projeto Treble.
  • Todos os dispositivos que atualizar para Android 8.0 Oreo são não requerido para apoiar totalmente o Projeto Treble.
  • Os dispositivos que possuem atualizações (lançamentos oficiais ou betas fechados) para Android 8.0 Oreo e suportam Treble incluem o seguinte:
    • Google Pixel
    • Google PixelXL
    • Huawei Companheiro 9
    • Honra 8 Pró
    • Honra 9
    • Telefone Essencial
  • É improvável que algum dispositivo receba suporte não oficial do Project Treble por meio do desenvolvimento de ROM personalizada. Afinal, os HALs não são de código aberto.

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

  • Para garantir que o código do fornecedor esteja devidamente separado da estrutura do sistema operacional Android da maneira que o Project Treble exige que o Google tenha configurado um Vendor Test Suite (VTS), no qual os dispositivos devem passar para serem certificados por Google. A certificação do Google é importante porque sem ela um dispositivo não pode ser enviado com aplicativos e serviços do Google Play pré-instalados.
  • Um dos requisitos do VTS é que um dispositivo habilitado para Treble deve ser capaz de inicializar a construçã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 OEMs para VTS não seja pública, phhusson, membro sênior do XDA, conseguiu descobrir como recriar esta ROM da fonte.
  • Assim, agora temos uma ROM AOSP funcional que é garantido para ser inicializável em dispositivos Project Treble. A maior parte do trabalho já foi feita por OEMs e fornecedores, então os desenvolvedores independentes em nossos fóruns não precisam mais mexer com o código-fonte do kernel ou hackeamento HAL. Em teoria, uma ROM AOSP deveria “simplesmente funcionar”, o que demonstramos ser basicamente verdade nos dispositivos que testamos.
  • No momento, a compatibilidade é não 100% com todos os dispositivos a imagem do sistema pode ser inicializada. Existem também alguns condições da corrida isso precisa ser descoberto. No entanto, o Projeto Treble reduz significativamente a quantidade de trabalho de desenvolvimento isso é necessário para portar ROMs AOSP para dispositivos que não sejam do Google. Com a colaboração de mais desenvolvedores em nosso Fórum do Projeto Treble, esperamos ver o desenvolvimento do dispositivo Treble percorrer um longo caminho.

Como posso experimentar o Android Oreo no meu dispositivo agora?

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

  • Você precisará de um carregador de inicialização desbloqueado e precisa estar familiarizado com o uso comandos de inicialização rápida para piscar imagens.
  • Seu dispositivo deve já está rodando 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, você pode procurar um guia em nossos fóruns ou usar o Serviço FunkyHuawei.club para atualizar não oficialmente seu telefone para uma das versões beta fechadas do Oreo.
  • Você deve estar disposto a perder dados ou atualizar imagens de fábrica durante o teste. A melhor maneira de garantir essa inicialização é limpar a partição userdata, o que inclui limpar todo o conteúdo do seu armazenamento interno. Claro que você pode fazer backups e transferi-los quando terminar.
  • Essas compilações AOSP são atualmentenão se destina ao uso como motoristas diários. Eles são extremamente básicos e não oferecem muitos recursos ou aplicativos pré-instalados. Você mesmo terá que atualizar os aplicativos do Google. Você terá que inserir manualmente as configurações de APN da sua operadora para que os dados móveis funcionem (se funcionarem). As coisas ficarão complicadas até que mais esforços de desenvolvimento sejam feitos.

Conclusão

O Google não estava brincando quando disse que o Projeto Treble foi talvez uma das maiores mudanças de todos os tempos na forma como o Android funciona. Podemos ver por nós mesmos, aqui e agora, o impacto que isso pode ter. Treble pode ser o impulso que a comunidade de desenvolvimento precisa para revitalizar o cenário de ROM personalizado. Demorou menos de 1 dia para inicializar uma ROM AOSP quase totalmente funcional no Huawei Mate 9. Estou animado para ver o trabalho que será feito em outros dispositivos habilitados para Treble.