Como atualizar o CyanogenMod em smartphones criptografados
O que é a criptografia em smartphones com Android
A criptografia permite que seus dados fiquem seguros e protegidos por uma senha/PIN. Sem a senha é praticamente impossível acessar os dados criptografados.
Depois de ativar a criptografia no Android você precisará da senha para: acessar os dados via USB, inicializar o smartphone, desbloquear a tela inicial do dispositivo e etc. Por exemplo, caso você abra o aplicativo da câmera através do atalho na tela inicial (sem desbloquear), só será possível acessar as fotos capturadas recentemente, pois as demais estarão disponíveis somente após desbloqueio com o código PIN.
Isso torna o smartphone extremamente seguro contra roubo de informações. Imagine que você teve o telefone roubado, será impossível utilizar suas contas que ficam logadas, acessar suas fotos, anotações e etc. O que provavelmente será feito é o reset para as configurações de fábrica, porém todos os dados que estavam presentes serão apagados.
A única forma de remover a criptografia e consequentemente o uso de senha no Android é com o reset do aparelho. Isso fará com que todos os dados do smartphone sejam apagados. Portanto, antes de criptografar o telefone, pense se você precisará ativar alguma rotina de backup nativa da Google como: sincronização dos contatos via gmail, aplicativos e redes WiFi, backup de fotos no Google Plus e etc ou então inserir na sua rotina uma backup periódico completo.
Caso queira aprender como criptografar e ativar outras funções de segurança nativa do Android e da ROM CyanogenMod veja o artigo Como melhorar a segurança e privacidade de seus dados no Android.
Para entender e estudar mais sobre criptografia – http://pt.wikipedia.org/wiki/Criptografia.
Atualização do sistema operacional CyanogenMod criptografado
Usuários do CyanogenMod que utilizam a criptografia ficam praticamente sem poder utilizar os recursos de backup, restore e instalação de novas versões via ClockworkMod. Com o smartphone criptografado, não é possível acessar o sistema de arquivos via CWM, pois não existe a funcionalidade para informar a senha e decodificar o sistema de arquivos.
Porém para realizar a atualização do CyanogenMod com uma nova versão é possível utilizar a função sideload que permite que a ROM seja enviada a partir do notebook ou computador para o smartphone Android. Abaixo os passos necessário para atualizar o CyanogenMod criptografado:
- instale as ferramentas adb e fastboot (instruções para instalação via apt-get para Linux ou então no Windows). Ou então baixe a última versão do Android SDK via linha de comando e faça a instalação após a descompactação com o comando: ./android-sdk-linux/tools/android update sdk –no-ui. Assim você irá obter a última versão do adb (1.0.32) para instalação do CyanogenMod 13.
- baixar a imagem específica de seu smartphone em cyanogenmod.org;
- conferir o md5sum para checar que o download não está corrompido;
- reinicie o smartphone em Recovery Mode (ClockworkMod), ou de preferência, instale a última versão do twrp que oferece suporte a criptografia e conecte o smartphone via USB;
- vá em ‘install zip’ -> ‘install zip from sideload’;
- digite em seu computador o comando: adb sideload cm-11-version-SNAPSHOT-M5-mako.zip.
- aguarde a instalação e liberação do cursor no ClockworkMod/twrp (aproximadamente dois minutos) e reinicie o smartphone;
- inicialize normalmente e aguarde o sistema operacional otimizar/atualizar os aplicativos instalados;
O procedimento acima consegui utilizar com sucesso até o CyanogenMod 12.1. Quando fui atualizar para o CyanogenMod 13 tive algums problemas (houve uma falha na instalação do CM13 / Google Apps), então compartilho algumas boas práticas:
- utilize o twrp que já suporta criptografia a partir da versão 3.0, fazendo com que seja possível utilizar todas as funções (backup, acesso aos arquivos) via recovery;
- é muito importanto no update do CyanogenMod 12.1 para o 13, a instalação da ROM e logo em seguida dos apps do Google, sem reiniciar o smartphone. Caso contrário você verá erros semelhantes a esses ao utilizar o CM 13:
1 |
“SetupWizard has stopped working” |
E no logcat:
1 2 3 |
12–01 15:51:06.145 7860 7860 E AndroidRuntime: FATAL EXCEPTION: main 12–01 15:51:06.145 7860 7860 E AndroidRuntime: Process: com.google.android.setupwizard, PID: 7860 12–01 15:51:06.145 7860 7860 E AndroidRuntime: java.lang.RuntimeException: Unable to create application com.google.android.setupwizard.SetupWizardApplication: java.lang.SecurityException: addOnSubscriptionsChangedListener: Neither user 10002 nor current process has android.permission.READ_PHONE_STATE. |
Para resolver, suba a ROM e com o adb shell digite o comando:
1 |
pm grant com.google.android.setupwizard android.permission.READ_PHONE_STATE |
Mais informações sobre o erro: http://www.deseret-tech.com/journal/cyanogenmod-13-nightly-setupwizard-has-stopped-working/
Mas se o erro “O app has stopped” / “O app parou” aparecer ao abrir um app, principalmente os apps do Google, e no logcat a mensagem for algo semelhante à:
1 |
requires com.google.android.providers.gsf.permissions.READ_GSSERVICES OR com.google.android.providers.gsf.permissions.WRITE_GSERVICES |
Tente reinstalar o app via Google Play Store, meus aplicativos voltaram a funcionar normalmente após esse procedimento.
Agora, acesse o menu ‘configurações‘, ‘sobre o telefone‘ e então verá a nova versão instalada em ‘Versão CyanogenMod‘ 🙂
Comments: