Cel
Jeśli masz pobrany obraz OTA i, tak jak w moim przypadku, zakończyłeś się niepowodzeniem, powinieneś być w stanie zrobić adb sideload <filename>
to ręcznie ( tutaj wideo ).
Problem / błąd
... niestety aktualizacja OTA poprzez adb sideload
błędy z:
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.
gdzie /system/app/Drive.apk
może być dowolna aplikacja systemowa.
Kto nie jest winny?
- Na początku nie należy winić TWRP, tak myślałem na początku, ale będzie również działać z TWRP.
- TitaniumBackup Pro. Ponieważ zrootowałem urządzenie i korzystałem z funkcji zaawansowanego użytkownika, powinienem był wiedzieć o jego skutkach ubocznych. Teraz jednak wiem :) ... i jest duża szansa, że dowiesz się o tym z tej odpowiedzi.
Widoczna przyczyna błędu
Korzystając z Titanium Backup Pro, użyłem funkcji „zamrożenia”, aby pozbyć się niektórych aplikacji systemowych, a mianowicie:
- Klawiatura ASUS
- Kalendarz
- Pamięć kalendarza
- com.android.providers.partnerbookmarks
- com.android.sharedstoragebackup
- com.google.android.voicesearch
- Usługi wymiany
- Gmail
- Google One Time Init
- Książki Google Play
- Gry Google Play
- Czasopisma Google Play
- Filmy Google Play
- Muzyka Google Play
- Wyszukiwarka Google
- Google Text-to-speech Engine
- Hangouty
- iWnn IME
- Klawiatura iWnnIME (biała)
- One Time Init
Najwyraźniej dlatego adb sideload
wyskoczyłem wcześnie z komunikatem błędu podanym w moim pytaniu.
Odinstalowałem również niektóre aplikacje systemowe i myślę, że pamiętam, że „Dysk” (pamiętasz ?:) /system/app/Drive.apk
był jedną z nich.
Rozwiązanie
W tej odpowiedzi znalazłem rozwiązanie na forum.xda-developers.com . Istotą jest to, że jeśli masz zmodyfikowany obraz, musisz go przywrócić, aby sideload OTA się powiódł.
Najpierw pobierz obraz podstawowy dla aktualnie posiadanej wersji. Upewnij się, że jest odpowiedni dla twojego urządzenia. Próbowałem więc zaktualizować wersję JSS15R
do KRT16S
Wi-Fi, co oznaczało, że musiałem pobrać 4.3 (JSS15R)
obraz. To był plik razor-jss15r-factory-ec2d4f76.tgz
w moim przypadku. Następnie rozpakowałem to, co dało mi podfolder o nazwie razor-jss15r
. Wewnątrz były skrypty powłoki, .img
plik i .zip
( image-razor-jss15r.zip
). Ten ostatni musiał zostać rozpakowany. Potem miałem .img
pliki w folderze, w którym rozpakowałem .zip
:
boot.img
cache.img
recovery.img
system.img
userdata.img
Następnie wykonałem kroki przedstawione w powiązanej odpowiedzi:
- uruchom do bootloadera (trzymaj Volume-downi Powerwciśnięty bezpośrednio po włączeniu)
- podłącz USB (wcześniej upewnij się, że wszystkie sterowniki USB są zainstalowane )
- przejdź do folderu z wcześniej rozpakowanymi
.img
plikami
- sprawdź w wierszu polecenia zestawu SDK systemu Android, że widzisz urządzenie
fastboot devices
.
- następnie uruchom,
fastboot flash system system.img
co spowoduje flashowanie partycji systemowej
Uwaga: inaczej niż w łączonym poście, pominąłem krok z, fastboot erase system
ponieważ najwyraźniej wynika to z tego, fastboot flash system system.img
co widać na podstawie wyników. Pominąłem również fastboot flash boot boot.img
i fastboot flash recovery recovery.img
ponieważ myślałem, że jest mało prawdopodobne, aby te „partycje” zostały zmodyfikowane (miałem rację). Być może jednak potrzebujesz dwóch ostatnich. Prawdopodobnie będzie to zależeć od tego, co zmodyfikowałeś, co uniemożliwia wykonanie adb sideload
kroku (tj. Przeczytaj i zrozum komunikat o błędzie).
Oto wynik:
# 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, czysty system, który można aktualizować w OTA.
Krótko mówiąc, może być konieczne tylko fastboot flash system system.img
z uruchomionego obrazu podstawowego, jeśli kiedykolwiek wystąpi błąd podczas fazy weryfikacji:
Verifying current system...
"/system/<SOME>.apk" has unexpected contents.
E:Error in /tmp/update.zip
(Status 7)
Pobierz obrazy fabryczne (Nexus 7, oba)