Se você tem experiência com ROMs e modificações, é possível que já tenha feito alguma coisa errada, sobretudo depois de ter adquirido segurança com os procedimentos. Se tiver sorte, você não "brickou" completamente o dispositivo, mas causou o chamado soft-brick. O sintoma mais comum nesse caso é o loop infinito ou boot loop, que ocorre quando o dispositivo mostra a animação de início o tempo inteiro ou fica bloqueado na imagem inicial. Neste artigo vou mostrar como solucionar esse problema.
Primeira fase - achar a causa
Os soft-bricks são causados principalmente a alguns arquivos de sistema que interferem em outros, causando instabilidade ou falha na inicialização. Se o seu dispositivo fica bloqueado ao se reiniciar, você deve se lembrar da sua última operação antes do aparecimento do problema. Para cada situação existe uma solução possível.
Depois de flashear uma ROM
Após fazer o flash de um ROM, o cache Dalvik pode não ter sido apagado automaticamente. Isso significa que os dados antigos são utilizados para os novos arquivos do sistema, causando inevitavelmente um loop infinito. Eis o que fazer nesse caso:
- Inicie o aparelho em Recovery Mode (ClockworkMod ou outra custom recovery);
- Abra “advanced”.
- Selecione “wipe dalvik cache”.
- Agora busque e selecione “wipe cache” (se não estiver no menu principal, tente em “mounts and storage”).
- Reinicie o dispositivo.
O cache Dalvik se encontra normalmente na partição de mesmo nome, mas algumas ROMs salvam dados também dentro de “cache” ou dentro de “data”. Seguindo o procedimento acima, aumentaremos a probabilidade de eliminar o cache Dalvik sem apagar nenhum dado pessoal (apps, fotos, etc.). Se não funcionar, teremos de recorrer também à formatação da partição “data”, mas antes deve-se fazer um backup que poderemos recuperar em seguida:
- Reinicie em Recovery Mode.
- Abra “backup and restore”.
- Selecione “backup” (para fazê-lo no cartão SD) ou “backup to internal”.
Agora podemos prosseguir com mais tranquilidade no processo de apagar os dados:
- Selecione “wipe data”.
- Selecione “wipe cache”.
- Reinicie o dispositivo.
Se o problema persistir, a causa estará na própria ROM; descarregue uma ROM diferente para flashear em seu dispositivo e entre em contato com o criador da ROM defeituosa explicando que ela é incompatível com o seu modelo.
Depois da restauração de um backup
A causa está novamente numa interferência com o antigo cache Dalvik não apagado corretamente. Bastará seguir o mesmo procedimento indicado acima para resolver o problema.
Depois de flashear uma Mod
Se o seu dispositivo entra em loop infinito depois da instalação de alguma Mod, o problema se deve principalmente a uma incompatibilidade com a sua ROM. Nesse caso, a solução é um pouco mais trabalhosa. Em primeiro lugar, devemos substituir dois arquivos na Mod por outros dois conteúdos no pacote da nossa ROM:
- Abra o arquivo zip da Mod com um gerenciador de arquivos (por exemplo: 7-Zip);
- Procure os arquivos “android.policy.jar” e “framework-.apk”, situados normalmente dentro de “system/framework/”. Estes são os arquivos que devemos substituir;
- Agora, abra o arquivo zip da nossa ROM. Se tiver uma ROM stock, baixe-a online e procure o método para extraí-la;
- Procure os mesmos arquivos de antes e coloque-os no lugar dos outros na Mod (sobrescrevendo-os). Escolha “store” como nível de compressão.
Agora basta copiar a Mod “correta” no cartão SD do celular e flasheá-la a partir da recovery:
- Copie a Mod no cartão SD através de um leitor de cartão ou aproveitando a opção “mount usb storage” contida em “mount and storage” e ligue o dispositivo ao PC;
- Instale a Mod como fez anteriormente;
- Se não der certo, reinstale a Mod depois de ter selecionado “mount system” dentro de “mount and storage”. Você também pode tentar com o acréscimo de um “wipe cache” e “wipe dalvik cache”.
Depois de ter mudado as permissões
Modificar as permissões dos arquivos pode ser perigoso no Android. Se não for feito corretamente, é muito fácil causar um soft-brick, ou até coisa pior. As permissões mais comuns dos arquivos são:
- 644 (RW-R-R): esta é a permissão de sistema mais conhecida, e está presente em “/system/app”, “/system/framework”, “/system/etc”, “/system/lib” e outros arquivos diversos;
- 755 (RWX-RX-RX): principalmente usada para “/system/bin”, apenas os arquivos que devem ser executados são 755 ou superior;
- 777 (RWX-RWX-RWX): usada para os scripts em “/system/etc/init.d” e os arquivos de BusyBox.
Para resolver o loop infinito, basta usar a opção “fix permissions” contida no menu “advanced” do ClockworkMod. Certifique-se de que as partições estejam montadas antes de efetuar o comando.
Soluções e conselhos gerais
Quem gosta de modificar ROMs, experimentar as diversas Mods e “brincar” com o dispositivo rooteado, deve ter sempre em mente a regra fundamental do modding: wipe, wipe, wipe! O conjunto dos três wipes (limpeza), chamado com frequência de “full wipe”, serve tanto para prevenir quanto para solucionar:
Prevenir - quando fazer os wipes?
- wipe data: ao flashear uma ROM diferente da nativa; ele não é essencial para as atualizações (como passar da CM 10 para a CM 11, por exemplo). Ele apaga dados pessoais e configurações (reset de fábrica);
- wipe cache: ao flashear um ROM. Aconselhado também ao flashear uma Mod, Recovery, etc;
- wipe dalvik cache: aconselhado para as mesmas situações do “wipe cache”.
Solucionar - um remédio infalível
A recovery está situada numa partição separada do sistema operacional Android. Qualquer problema de funcionamento causado por uma mudança no âmbito do firmware poderá ser resolvido entrando no Recovery Mode. Como um coringa, você poderá sempre usar o “full wipe” para depois flashear uma ROM, tudo obviamente a partir da sua custom Recovery.
Como se vê, solucionar o soft-brick de um celular Android não é tão difícil como parece. Basta ter uma custom Recovery que o proteja. Bom modding a todos!
Você já causou um loop infinito no seu Android? Como fez para resolvê-lo?
Kawan Fellipe
sexta-feira, 18 de julho de 2014
Postagens Relacionadas