Android Ferramentas Hacks

O Xposed Framework já está disponibilizado para o Android Lollipop

O Xposed Framework já está disponibilizado para o Android Lollipop

Um dos motivos pelos quais o Android Lollipop ainda não me interessava começa a deixar de existir. Sim, porque antes de ontem/hoje não havia nenhuma possibilidade de usar o Xposed Framework no Android Lollipop. Agora, em modo alfa/oficial o Android Lollipop pode fazer uso do Xposed Framework.

Esta semana o desenvolvedor rovo89 havia prometido que o Xposed para o Android Lollipop estaria disponível em pouco tempo e parece que realmente ele trabalhou duro e conseguiu disponibilizar a primeira versão pública poucos dias depois.

Mas, é bom lembrar que apesar de já estar disponível para download e ser considerada até estável por muitos a versão ainda não é totalmente estável e pode sim apresentar diversos problemas. Portanto, caso você não seja um usuário avançado que consegue ler facilmente os logs do Android e resolver os problemas pode não ser interessante que você use o app.

O próprio desenvolvedor deixou isto claro na mensagem de disponibilização :

Como houveram muitas mudanças desde a última versão estável que precisam ser testadas por pessoas que sabem como usar uma recovery, resolver problemas com loops de inicialização e como reportar os bugs. Eu recomendo que novatos esperem até que o Xposed seja testado por um número suficiente de pessoas experientes.

O framework somente roda em dispositivos ARMv7 portanto não suporta ainda 64 bits ou então dispositivos baseados em Intel que devem ao longo dos próximos meses começar a ser suportados.

Faça o download do Xposed Framework aqui

O pessoal do XDA-Developers publicou uma página onde o desenvolvedor deixou uma série de informações que são interessantes de serem lidas.

O que o rovo deixa claro é que o suporte ao ART não era o único problema para se ter o Xposed para o Android Lollipop. O grande problema do suporte ao Lollipop, mesmo motivo pelo qual o Chanfire teve problemas com o SuperSU são as mudanças nas políticas do SELinux, o suporte a instruções de 64 bits e diversas mudanças que foram feitas no Android quando a versão oficial foi lançada.

Ou seja, mesmo que houvesse o suporte ao ART no KitKat isto automaticamente não significaria que teríamos o suporte ao Lollipop devido a estas diversas mudanças que tivemos entre as duas versões do Android.

Além disto é bom lembrar que o desenvolvedor tem uma vida pessoal além do trabalho no Xposed, portanto, nem sempre ele tem todo o tempo do mundo para ficar trabalhando no código.

Além disto a boa notícia para a os desenvolvedores é que o Xposed não mudou quase nada na sua API portanto não é necessário se preocupar em qual das runtimes ele está funcionando, seja Xposed ou ART.

Praticamente todos os módulos vão funcionar sem qualquer alteração especialmente aqueles que só modificam funcionalidades da camada do usuário.

Os módulos que modificam partes do sistema realmente terão que ser modificados, e isto nem é culpa do Xposed e sim do novo framework do Android.

A boa notícia é que as mudanças nos módulos serão bem fáceis porque a parte que toma conta dos serviços de sistema foi movida para partes separadas o que permite que o trabalho seja bem pequeno.

Mas se você quer realmente instalar o Xposed Framework ( use o link no final do artigo ) tenha certeza que conhece tudo que ele vai fazer no seu sistema e estar em uma ROM Lolipop e ter backup de todos os seus dados ( um nandroid, diga-se de passagem ) e logicamente um dispositivo ARMv7.

A instalação no momento tem que ser feita em uma recovery personalizada porque ela instala uma série de arquivos dentro do sistema operacional:

  • app_process32_xposed e alguns links simbólicos

  • libexposed_art.so

    libart.so e alguns binários relacionados + bibliotecas ( com base em 5.0.2, aprimorado com suporte a hooks etc.)

  • XposedBridge.jar (agora armazenados em /system/framework)

  • Os backups de arquivos existentes serão criadas automaticamente e podem ser restaurados posteriormente.

Como desinstalar o Xposed Framework para o Android Lollipop

Infelizmente não existe um desinstalador igual temos no Xposed para o Dalvik mas isto irá ser feito no futuro.

Para desinstalar você precisa ter feito o nandroid backup e recuperar a partição /system.

Este negócio substitui o ART no seu dispositivo ?

Se você é mais técnico observou que o subsistema do ART foi substituido e de acordo no git do rovo ele explica as razões. Isto aconteceu porque durante muito tempo ele tentou não fazer isto, mas, foi forçado.

Há uma pequena queda de performance em relação ao ART original porque ele foi forçado a desabilitar uma série de otimizações a fim de manter vários hooks funcionando normalmente.

Esta pequena fração de métodos desabilitados não chega a causar grandes problemas porque praticamente não chega nem a ser mensurável a queda de desempenho.

O ART aliás possui outras muitas otimizações e só foram desabilitadas uma pequena parte proporcionando o máximo de flexibilidade possível.

A estabilidade é que foi o foco. Em comparação com a abordagem usada no Dalvik ( em que foram modificadas as estruturas de dados internas da runtime do app_proccess ) parece que a modificação as bibliotecas se mostrou uma forma mais confiável.

Isto se mostra mais confiável porque haveria a possibilidade de integrar diversas alterações no código existente e reutilizar várias funções mas seriam necessários muitos hacks, ou seja, é garantido que o rovo89 sabe o que está fazendo.

O código está disponível no GitHub em uma branch separada.

O novo código compila em todas as versões do Android, mas, o foco dele é ter certeza primeiro que ele roda sem problemas no Lollipop para depois portá-lo para outras versões do sistema operacional.

Aliás, corre o perigo de felizmente termos este ART portado para o KitKat o que é ótimo 🙂

Ou seja, o Xposed chegou para o Lollipop e ainda por cima, vem com notícias boas para todas os usuários do Android já que o ART pode estar disponível até para os usuários do KitKat.

Se ainda não baixou o Xposed Framework, baixe aqui .

Via Android Authority / XDA-Developers

comments powered by Disqus