Мета
Якщо ви завантажили зображення OTA і, як у моєму випадку, закінчилися без успіху, ви повинні мати можливість adb sideload <filename>
його ще вручну ( відео тут ).
Проблема / помилка
... на жаль, оновлення OTA за допомогою adb sideload
помилок із:
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.
де /system/app/Drive.apk
може бути будь-який системний додаток.
Хто не винен?
- TWRP не винен, я вважав це на початку, але це також буде працювати з TWRP.
- TitaniumBackup Pro. Оскільки я вкоренив свій пристрій і використовую функцію користувача-живлення, я повинен був знати про його побічні ефекти. Тепер я все-таки знаю, хоча :) ... і є хороший шанс дізнатися про це з цієї відповіді зараз.
Очевидна причина помилки
Використовуючи Titanium Backup Pro, я використовував функцію "заморожування", щоб позбутися деяких системних додатків, а саме:
- Клавіатура ASUS
- Календар
- Зберігання календаря
- com.android.providers.partnerbookmarks
- com.android.sharedstoragebackup
- com.google.android.voicesearch
- Обмінні послуги
- Gmail
- Google One Time Init
- Книги Google Play
- Ігри Google Play
- Журнали Google Play
- Google Play Фільми
- Google Play Музика
- Пошук Google
- Інструмент Google для текстового мовлення
- Hangouts
- iWnn IME
- iWnnIME клавіатура (білий)
- Один раз Ініт
Це було, мабуть, тому adb sideload
достроково виправдано повідомлення про помилку, подане в моєму запитанні.
Я також видалив деякі системні програми, і я думаю, що я пам'ятаю, що "Drive" (пам'ятаєте ?:) /system/app/Drive.apk
був одним з них.
Рішення
У цій відповіді я знайшов рішення на forum.xda-developers.com . Суть полягає в тому, що якщо у вас є змінене зображення, вам потрібно відновити це, щоб досягти успіху бічного завантаження OTA.
Спочатку скачайте зображення запасу для складання, яке ви маєте на даний момент. Переконайтесь, що він є правильним для вашого пристрою. Тому я намагався оновити версію JSS15R
до KRT16S
версії Wi-Fi, що означало, що мені потрібно завантажити 4.3 (JSS15R)
зображення. Це був файл razor-jss15r-factory-ec2d4f76.tgz
у моєму випадку. Потім я розпакував те, що дало мені підпапку на ім'я razor-jss15r
. Всередині нього були скрипти оболонки, .img
файл та .zip
( image-razor-jss15r.zip
). Останні потрібно було розпакувати. Потім у мене були .img
файли в папці, в яку я розпакував .zip
:
boot.img
cache.img
recovery.img
system.img
userdata.img
Потім я дотримувався кроків, викладених у пов'язаній відповіді:
- завантажте завантажувач (утримуйте Volume-downта Powerнатискайте безпосередньо після його включення)
- підключіть USB (переконайтеся, що всі драйвери USB встановлені )
- перейти в папку з раніше розпакованими
.img
файлами
- переконайтеся у підказок Android SDK, що ви бачите пристрій
fastboot devices
.
- потім виконати,
fastboot flash system system.img
який буде спалахнути розділ системи запасів
Примітка: на відміну від пов’язаного поста, я залишив крок із fastboot erase system
тим, що, мабуть, мається на увазі під тим, fastboot flash system system.img
як це видно з результатів. Я також залишився поза межами, fastboot flash boot boot.img
і fastboot flash recovery recovery.img
тому, що я вважав, що ці "перегородки" навряд чи були змінені (я мав рацію). Можливо, вам знадобляться два останніх. Ймовірно, це залежатиме від того, що ви змінили, що запобігає adb sideload
кроку (тобто прочитати та зрозуміти повідомлення про помилку).
Ось результат:
# 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, чиста система, яку можна оновити OTA.
Отже, коротше кажучи, вам може знадобитися лише fastboot flash system system.img
з зображення, яке ви працюєте, якщо ви коли-небудь отримаєте помилку під час фази перевірки:
Verifying current system...
"/system/<SOME>.apk" has unexpected contents.
E:Error in /tmp/update.zip
(Status 7)
Завантажте заводські зображення (Nexus 7, обидва)