Objetivo
Se você fez o download da imagem OTA e, como no meu caso, acabou sem sucesso adb sideload <filename>
, ainda será possível manualmente ( vídeo aqui ).
Problema / Erro
... infelizmente, a atualização do OTA ocorre através de adb sideload
erros com:
Finding update package...
Opening update package...
Verifying update package...
Installing update...
Verifying current system...
"/system/app/Drive.apk" has unexpected contents.
E:Error in /tmp/update.zip
(Status 7)
Installation aborted.
onde /system/app/Drive.apk
poderia estar qualquer aplicativo do sistema.
Quem não tem culpa?
- O TWRP não é o culpado, pensei assim no começo, mas funcionaria com o TWRP também.
- TitaniumBackup Pro. Desde que enraizei meu dispositivo e utilizo um recurso de usuário avançado, eu deveria saber de seus efeitos colaterais. Agora eu sei, porém: ... ... e há uma boa chance de você aprender sobre isso com esta resposta agora.
Causa aparente do erro
Usando o Titanium Backup Pro, usei o recurso "congelar" para se livrar de alguns aplicativos do sistema, a saber:
- Teclado ASUS
- Calendário
- Armazenamento do calendário
- com.android.providers.partnerbookmarks
- com.android.sharedstoragebackup
- com.google.android.voicesearch
- Serviços de Câmbio
- Gmail
- Google One Time Init
- Google Play Livros
- Jogos do Google Play
- Revistas do Google Play
- Google Play Filmes
- Google Play Music
- Pesquisa do Google
- Mecanismo de conversão de texto em voz do Google
- Hangouts
- iWnn IME
- Teclado iWnnIME (branco)
- Inicialização única
Aparentemente, foi por isso que o adb sideload
resgate foi antecipado com a mensagem de erro dada na minha pergunta.
Também desinstalei alguns aplicativos do sistema e acho que lembro que o "Drive" (lembra ?:) /system/app/Drive.apk
era um deles.
A solução
Encontrei a solução em forum.xda-developers.com nesta resposta . O essencial é que, se você tiver uma imagem modificada, precisará restaurá-la para que o carregamento lateral do OTA seja bem-sucedido.
Primeiro, faça o download da imagem da construção que você possui atualmente. Verifique se é o correto para o seu dispositivo. Então, eu estava tentando atualizar de JSS15R
para KRT16S
a versão Wi-Fi, o que significava que eu precisava baixar a 4.3 (JSS15R)
imagem. Esse foi o arquivo razor-jss15r-factory-ec2d4f76.tgz
no meu caso. Depois, desempacotei o que me deu uma subpasta chamada razor-jss15r
. Dentro dele havia scripts de shell, um .img
arquivo e um .zip
( image-razor-jss15r.zip
). O último precisava ser desembalado. Depois, tive os .img
arquivos na pasta em que descompactei o arquivo .zip
:
boot.img
cache.img
recovery.img
system.img
userdata.img
Depois, segui as etapas descritas na resposta vinculada:
- inicialize no carregador de inicialização (mantenha Volume-down-o Powerpressionado diretamente após ligá-lo)
- conecte o USB (antes disso, verifique se todos os drivers USB estão instalados )
- mude para a pasta com os
.img
arquivos descompactados anteriormente
- verifique no prompt do SDK do Android com o qual você vê o dispositivo
fastboot devices
.
- Em seguida, execute o
fastboot flash system system.img
que irá piscar uma partição do sistema de estoque
Nota: ao contrário do post vinculado, deixei de fora a etapa com o fastboot erase system
porque isso aparentemente está implícito fastboot flash system system.img
como pode ser visto na saída. Eu também deixei de lado fastboot flash boot boot.img
e fastboot flash recovery recovery.img
porque achava improvável que essas "partições" tivessem sido modificadas (eu estava certa). Você pode precisar dos dois últimos, no entanto. Provavelmente dependeria do que você modificou que impede a adb sideload
etapa (isto é, leia e entenda a mensagem de erro).
Aqui está a saída:
# fastboot flash system system.img
erasing 'system'...
OKAY [ 1.160s]
sending 'system' (603447 KB)...
OKAY [ 19.786s]
writing 'system'...
OKAY [ 26.720s]
finished. total time: 47.668s
Et voila, um sistema limpo que pode ser atualizado pelo OTA.
Portanto, em resumo, você pode precisar apenas fastboot flash system system.img
da imagem que está sendo executada, se algum erro ocorrer durante a fase de verificação:
Verifying current system...
"/system/<SOME>.apk" has unexpected contents.
E:Error in /tmp/update.zip
(Status 7)
Download para imagens de fábrica (Nexus 7, ambos)