Como receber facilmente atualizações OTA no Xiaomi Mi A2 enraizado com Magisk

A aplicação de atualizações OTA no Xiaomi Mi A2 enraizado pode ser uma enorme dor de cabeça, pois pode envolver a remoção de enraizamento do seu dispositivo e a execução de todas as etapas para enraizá-lo novamente. Felizmente, existe um método para instalar o Magisk que suporta atualizações OTA.

Então, se você quiser torcer o Xiaomi Mi A2 enquanto pode aplicar as atualizações OTA sem ter que desbotar o seu dispositivo, siga cuidadosamente nosso guia simples abaixo.

Requisitos:

  • ADB e Fastboot (consulte o guia do Appual Como instalar o ADB no Windows)
  • Ferramenta MiFlash

Primeiro você precisa ter o seu bootloader desbloqueado - mas você precisa ter muito cuidado, e também estar ciente de que o programa de desbloqueio do Xiaomi bootloader se tornou muito lento ultimamente. Pode levar semanas para receber um código de desbloqueio do bootloader. Você também deve estar ciente do ARB ( mecanismo de proteção contra recuo) em dispositivos Xiaomi.

Se o bootloader do seu dispositivo já estiver desbloqueado, ótimo! Nós podemos continuar.

Vá para Configurações> Sistema> Sobre o telefone> toque em "Build Number" 7 vezes até que o modo de desenvolvedor esteja desbloqueado.

Agora vá para Configurações> Opções do desenvolvedor> habilitar OEM Unlocking.

Agora, desligue o dispositivo e mantenha pressionado o botão Diminuir volume + energia. Solte os botões quando você entrar no menu Fastboot.

Conecte seu Xiaomi Mi A2 ao seu PC via USB e inicie um terminal ADB ( segure a tecla Shift + clique com o botão direito do mouse na sua pasta ADB principal e escolha 'Abrir uma janela de comando aqui').

No terminal ADB, digite este comando: fastboot oem unlock

Isto irá reiniciar o seu telefone e apagar todos os seus dados enquanto desbloqueia o seu bootloader.

Instalando o Magisk

Baixe e instale a versão mais recente do Magisk Manager APK no seu telefone.

Agora baixe um boot.img corrigido dos seguintes downloads - de forma alternativa, mostraremos como corrigir um boot.img original por você mesmo abaixo da lista de downloads boot.img.

Ao fazer o download de um boot.img com patches, você deve ter certeza de que ele contém o mesmo número de compilação no qual você está. Portanto, verifique seu Número de compilação em Configurações> Sobre o telefone antes de continuar, e não exiba o arquivo diretamente na memória do telefone, pois o Magisk não funcionará corretamente. Siga nossas instruções com muito cuidado e exatamente como estão escritas.

Você deve baixar o boot.img corrigido para a sua pasta ADB no seu PC.

  • patched_boot 9.6.4.0 (atualização de julho de 2018) - corrigido com o Magisk 17.1
  • patched_boot 9.6.6.0 (atualização de agosto de 2018) - corrigida com o Magisk 17.1
  • patched_boot 9.6.8.0 (atualização de 2018 de setembro) - corrigido com o Magisk 17.1

No caso de você acidentalmente piscar o boot.img errado, você pode atualizar um boot.img original da lista abaixo:

  • original boot.img 9.6.4.0 (atualização de julho de 2018) - tirada da ROM fastboot
  • original boot.img 9.6.6.0 (atualização de agosto de 2018) - extraído da atualização OTA
  • original boot.img 9.6.8.0 (atualização de 2018 de setembro) - extraído da atualização OTA

Por favor, esteja ciente de que, se estiver fazendo um patch boot.img manual, você precisará do seu boot.img original - você pode encontrá-lo dentro do arquivo zip oficial do fastboot ROM para margarida . Mas certifique-se de que a versão da ROM baixada tenha o mesmo Número de compilação que o do seu telefone. Portanto, faça o download do boot.img original com o mesmo Número de compilação do seu telefone ou atualize / faça downgrade de sua versão.

Depois de ter o boot.img original ( extraído do zip da ROM de fastboot oficial), você precisa copiá-lo para a memória externa do seu telefone (cartão SD).

Agora abra o aplicativo Magisk Manager, e ele perguntará se você quer instalar o Magisk - aceite a instalação, então “Patch Boot Image File” e escolha o arquivo boot.img que você transferiu.

O processo deve demorar cerca de 1 minuto para ser concluído, portanto, feche-o quando terminar. Na memória do seu telefone no diretório Download, você deve encontrar um arquivo chamado “patched_boot.img”, que você precisa transferir para o seu PC. Coloque-o dentro da pasta principal do ADB.

Agora reinicie o seu dispositivo no modo Fastboot ( lembre-se, Power + Volume Down) e inicie um terminal ADB no seu PC.

No terminal ADB, digite o seguinte comando: fastboot boot patched_boot.img

Seu telefone deve inicializar normalmente. Quando você estiver de volta no sistema Android, abra o aplicativo Magisk Manager e ele pedirá mais uma vez para instalar o Magisk. Vá em frente e escolha Instalar> Instalação Direta e reinicie quando estiver pronto.

Agora, como precaução para futuras atualizações do OTA, vá para Configurações> Sistema> Opções do desenvolvedor> desativar Atualizações automáticas do sistema. Você deve escolher apenas instalar as atualizações OTA manualmente . Nunca permita o OTA automático em um dispositivo Android com root.

Como aplicar atualizações futuras do OTA

Por favor, esteja ciente de que as atualizações OTA só funcionarão se todas as partições do dispositivo não forem tocadas! O Magisk é capaz de restaurar o boot.img original, mas se você modificou a partição / system de alguma forma, como editar manualmente o build.prop, o OTA se recusará a instalar.

Você pode tentar aplicar atualizações OTA sem precisar piscar uma ROM original fastboot inteira se você flash apenas as partições modificadas, como, por exemplo, piscando somente a partição / system de uma ROM fastboot original, usando o arquivo .img da ROM original .zip Arquivo.

Portanto, quando uma nova atualização OTA estiver disponível e você quiser instalar, será necessário iniciar o Magisk Manager e clicar em “Desinstalar> Restaurar Imagens”, mas não reinicialize o dispositivo ainda.

Feche o Magisk e vá para Configurações> Sistema> Atualização do sistema do seu dispositivo e instale a atualização OTA. Quando a atualização for baixada, começará uma atualização de dois estágios. Recomendamos colocar um pote de café, e talvez desfrutar de um jogo rápido de Madalin Stunt Cars 2, ou tentar o seu melhor no The Impossible Quiz ( boa sorte!)

Depois que os estágios de atualização forem concluídos, ele pedirá para reiniciar. Não reinicie o seu dispositivo . Inicie o Magisk Manager mais uma vez, depois toque em Instalar> Instalar> Instalar no slot inativo (depois do OTA), e só então você pode proceder à reinicialização.

Depois que o seu Xiaomi Mi A2 for reinicializado, você deve ter a versão atualizada do Android com o Magisk ainda inativa.

Solução de problemas

Nota: Antes de prosseguir com qualquer uma dessas operações, é necessário desativar a segurança de tela que você possui no dispositivo (bloqueio de tela, PIN, senha, impressão digital, etc), pois você corre o risco de problemas de criptografia com seus dados. É altamente recomendável criar um backup primeiro.

Se você não seguiu este guia meticulosamente, poderá encontrar alguns problemas.

Quando uma nova versão for encontrada, o atualizador verificará se todas as partições no dispositivo não estão alteradas. Se houver uma partição que tenha sido modificada, o atualizador OTA não prosseguirá com a instalação;

Tipicamente, as duas partições comumente modificadas pelo usuário modding são a partição de boot (onde o Magisk e o TWRP estão instalados) e a partição do sistema (quando você altera um arquivo de configuração, adiciona ou remove um aplicativo do sistema, etc.)

Uma partição do sistema modificada apenas usando módulos Magisk é efetivamente intocada, porque Magisk registra todas as mudanças em / system em um arquivo na partição / data e então engana o Android para acreditar que essas mudanças são realmente aplicadas a / system;

Em vez disso, a partição de inicialização é realmente modificada, mas se você instalar o Magisk seguindo este guia, o Magisk salvará uma cópia da partição de inicialização intocada e restaurá-la antes de aplicar a atualização OTA fará com que a atualização funcione.

Agora, se você não seguiu este guia para instalar o Magisk e o instalou de outras maneiras, o Magisk pode alertar que ele não pode restaurar o boot.img original (a partição de inicialização) quando você tenta aplicar a atualização OTA.

Para consertar isso, você pode fazer o flash diretamente no boot.img baunilha (original, não modificado, intocado) tirado do ponto 6 deste guia, usando os seguintes comandos:

 fastboot getvar boot-fast fastboot de inicialização atual? boot.img 

O primeiro comando irá dizer-lhe qual é o slot atual em uso ( a ou b ), o segundo comando irá piscar a inicialização original no telefone, mas você tem que mudar o "?" No comando com a ou b (ou seja, o slot atual que o primeiro comando fornecido).

Lembre-se de que a versão do arquivo boot.img deve corresponder à versão de compilação do Android atualmente em execução no seu telefone.

Se a atualização OTA ainda se recusar a se aplicar, provavelmente você alterou algo diretamente na partição / system (por exemplo, você alterou algo no build.prop sem usar um módulo Magisk para fazer isso).

Neste caso você tem que piscar o sistema original.img no telefone com esses comandos:

 fastboot getvar current-slot fastboot sistema de flash_? system.img 

e como antes, o primeiro comando informará o slot correto a ser usado em vez do “?” no segundo comando.

Aqui você pode encontrar o system.img extraído das atualizações OTA zip (junto com todos os outros arquivos .img dentro dele):

  • 9.6.8.0 (setembro de 2018) OTA atualiza o despejo como arquivos .img
  • 9.6.6.0 (agosto de 2018) OTA atualiza o despejo como arquivos .img

Se você deseja obter o system.img sozinho, você pode encontrá-lo dentro das imagens de fastboot, mas geralmente elas não são atualizadas mensalmente, como as atualizações OTA. Mas você pode extrair o system.img diretamente dos zips de atualização OTA encontrados neste tópico, usando os scripts Python encontrados aqui.

Para fazer os scripts Python funcionarem no Debian / Ubuntu e nos derivados, você tem que baixar o “extract_android_ota_payload.py” e o “update_metadata_pb2.py”, dar a eles a propriedade de execução e então instalar o pacote “python-protobuf”. Depois disso, você pode fornecer este comando para descompactar o arquivo payload.bin (que você deve extrair do zip de atualização da OTA):

 ./extract_android_ota_payload.py /path/to/payload.bin 

Isso extrairá no diretório atual todos os arquivos .img dentro de payload.bin, incluindo o system.img

Eu não sei como proceder no Windows, provavelmente você só precisa instalar a versão mais recente do Python2 e o script funcionará.

Como último recurso, você pode atualizar diretamente com o MiFlash a última imagem fastboot disponível (mesmo que seja mais antiga que a versão atual). Use o script " flash_all.bat ", mas antes de fazer um backup de seus dados, porque o telefone será totalmente redefinido.

Se você não quer correr o risco de não fazer um backup, use o script “ flash_all_except_storage.bat ” quando estiver piscando, assim você manterá todos os seus dados, mas esteja avisado que às vezes você não poderá mais acessar os dados. por causa de problemas de criptografia.

Logo após o flash, você pode começar a seguir o guia do ponto 5 ou 6.

Não deve ser um problema fazer downgrade da versão de compilação via fastboot, desde que a versão principal do Android permaneça a mesma (Oreo 8.1 no momento).

Arquivos de inicialização originais e remendados para o jasmine Mi A2 (não para uso com o Mi A2 Lite daisy, você pode encontrar os arquivos para margarida na primeira seção deste guia).

  • patched_boot 9.6.9.0 (atualização de julho) - corrigido com o Magisk 17.1
  • patched_boot 9.6.10.0 (atualização de agosto) - corrigido com o Magisk 17.1
  • boot.img 9.6.9.0 original (atualização de julho) - tirado da ROM fastboot
  • original boot.img 9.6.10.0 (atualização de agosto) - tirada da ROM fastboot

Artigos Interessantes