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 sideloadbłę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.apkmoż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 sideloadwyskoczył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.apkbył 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ę JSS15Rdo KRT16SWi-Fi, co oznaczało, że musiałem pobrać 4.3 (JSS15R)obraz. To był plik razor-jss15r-factory-ec2d4f76.tgzw moim przypadku. Następnie rozpakowałem to, co dało mi podfolder o nazwie razor-jss15r. Wewnątrz były skrypty powłoki, .imgplik i .zip( image-razor-jss15r.zip). Ten ostatni musiał zostać rozpakowany. Potem miałem .imgpliki 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
.imgplikami
- sprawdź w wierszu polecenia zestawu SDK systemu Android, że widzisz urządzenie
fastboot devices.
- następnie uruchom,
fastboot flash system system.imgco spowoduje flashowanie partycji systemowej
Uwaga: inaczej niż w łączonym poście, pominąłem krok z, fastboot erase systemponieważ najwyraźniej wynika to z tego, fastboot flash system system.imgco widać na podstawie wyników. Pominąłem również fastboot flash boot boot.imgi fastboot flash recovery recovery.imgponieważ 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 sideloadkroku (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.imgz 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)