Qual a diferença entre um ROM CAF e um AOSP?

Se você tem um android e já instalou uma versão customizada dele, então você (ao menos) que existem ROMs que são CAF e AOSP. Mas qual a diferença entre estes dois tipos?

Bom, um pouco de contexto não vai machucar: Quando a Google libera uma versão nova do Android, ela coloca este código em um repositório público do projeto AOSP (Android Open Source Project). Esta é a versão mais pura do sistema operacional, ninguém fez qualquer modificação nele ainda. Após esta publicação, qualquer um pode pegar o código do sistema operacional e modifica-lo.

Se você não é da área de TI ou não é familiarizado com processos de desenvolvimento de software, não se preocupe: Hackers não vai pegar o código do Android, colocar um vírus escondido, devolver o código para o repositório e ninguém vai ficar sabendo. Não tem como fazer isso e se você recebeu algum spam/alguma corrente com isso, é fake news, ok? 🙂

Todavia, quando um bug é encontrado no Android, a equipe da Google utiliza o código AOSP (original), corrige e publica novamente. Quem utilizou o código para customiza-lo, tem que tem encarregar de atualiza-lo com estas correções.

Sendo assim, quando dizemos que um ROM é “baseado no AOSP”, estamos falando que ele foi desenvolvido a partir do código “puro” que a Google liberou.

Algumas versões famosas destes ROMs customizados são: Lineage OS (antigo CyanogenMod), Resurrection Remix e AOSP Extended. Até este ponto, já entendemos o que é um ROM customizado e o que é AOSP e o que significa um ROM AOSP.

 

Mas então, o que é CAF?

A sigla significa Code Aurora Forum e ela é o lugar onde a Qualcomm, MediaTek e outros liberam os códigos fonte e patches (correções) para os processadores dela. Sendo assim, o CAF pode ser considerado como uma iniciativa onde as fabricantes das partes cruciais do telefone liberam os códigos que são otimizados para seus produtos. Sendo assim, os códigos baseados no Code Aurora Forum (CAF) serão mais otimizados para o CPU do celular e podem possuir funcionalidades a mais ou a menos, dependendo da boa vontade das fabricantes.

Uma vez que o código AOSP é alterado e publicado no CAF, ele é encaminhado para as fabricantes, que fazem o possível para estragar sua experiência com o Android. Uma das mais notórias nesta prática é a Samsung, que (na minha opinião) piora muito a experiência de usuário com suas modificações e entope o telefone com aplicativos e jogos que ninguém quer (e não podem ser desinstalados*, pois foram colocados como aplicativos de sistema).

Existe um ponto importante aqui: Nem todas as fabricantes fazem como a Qualcomm e liberam seus códigos para o publico em geral. A maioria utiliza para ‘encaminhar’ o fonte para as fabricantes de aparelhos (Samsung, Motorola, etc). Com isso, a esmagadora maioria dos ROMs customizados baseados no CAF, possuem processadores da família Snapdragon. (Não se preocupe, a grande maioria dos aparelhos possui um destes.)

 

Entao um ROM baseado no CAF é 100% melhor?

Não necessariamente. Estes códigos estão sendo melhorados e atualizados frequentemente e este ritmo pode deixar uma ‘margem para bugs’. Todavia, eles são feitos para o seu processador e (provavelmente) são muito estáveis.

Já as versões AOSP, podemos dizer que são mais genéricas, mas isso não é um demérito. O ROM Lineage OS é desenvolvido e mantido por uma comunidade gigante e possui diversas customizações e funcionalidades que você não vai encontrar em outros tipos de ROM e muitos dos bugs encontrados são corrigidos (rapidamente) pela própria comunidade.

 

 

Versão TL;DR

ROM AOSP: Versão do Android criado a partir do código puro que a Google publicou;

ROM CAF (Code Aurora Forum): Versão do Android que foi modificada pelas fabricantes de CPU (tipo a Qualcomm) e, por consequência, são mais adaptadas para versões específicas de processadores;

 

Se você quer escolher um ROM para o seu telefone, sugiro pesquisar nos fóruns da XDA, visitar os sites das edições do ROM e procurar algumas reviews. Infelizmente, não tem muita receita de bolo para isso e a sua experiência pode variar de aparelho para aparelho.

Espero ter ajudado!

 

*: Na verdade, é possível desinstalar, mas essa é uma conversa para outro post.

 

Links:

The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Posted in Conhecimento Técnico, Software and tagged , , , .