Mendapatkan kesalahan verifikasi saat mencoba "adb sideload" pembaruan OTA pada Nexus 7 (2013)

17

Catatan:

  • Tablet tidak terkunci dan di-root (SuperSU Pro v1.75)
  • Saya memiliki flash pemulihan berikut: TWRP 2.6.3.0, tapi saya mem-boot pemulihan stok untuk adb sideloadpermohonan
  • Driver diinstal, host adalah Win 7 x64 dan perangkat terdeteksi di setiap mode (MTP, USB debug, bootloader)

Ketika mencoba adb sideload(melalui pemulihan stok) file 7d9b309e11da82edb5373a1f59965bca89f6041f.signed-razor-KRT16S-from-JSS15R.7d9b309e.zippada Nexus 7 (2013) saya [Wi-Fi], saya menerima kesalahan:

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.

Apa yang saya lakukan salah? Apa yang harus saya ubah agar adb sideloadsukses?

0xC0000022L
sumber
Ada juga kemungkinan Anda dapat menggunakan recovery / bootloader lainnya. Untuk menginstal CM terbaru pada XT925 saya, misalnya, saya harus menggunakan gambar khusus dari halaman unduhan (bahkan sedikit lebih kecil dari yang ada pada clockwork). Juga perlu diingat bahwa me-reboot dari fastload ke bootloader bisa sangat, sangat rumit, karena dapat diganti dengan stock bootloader saat reboot.
cregox

Jawaban:

11

Tujuan

Jika Anda memiliki gambar OTA yang diunduh dan, seperti dalam kasus saya, berakhir tanpa hasil, Anda harus dapat melakukannya adb sideload <filename>secara manual ( video di sini ).

Masalah / Kesalahan

... sayangnya pembaruan OTA melalui adb sideloadkesalahan dengan:

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.

di mana /system/app/Drive.apkbisa ada aplikasi sistem.

Siapa yang tidak bisa disalahkan?

  • TWRP bukan untuk disalahkan, saya pikir begitu pada awalnya, tetapi itu akan bekerja dengan TWRP juga.
  • TitaniumBackup Pro. Karena saya me-rooting perangkat saya dan menggunakan fitur power-user, saya seharusnya tahu efek sampingnya. Sekarang saya tahu, :) ... dan ada kemungkinan Anda belajar tentang ini dari jawaban ini sekarang.

Penyebab nyata kesalahan

Menggunakan Titanium Backup Pro Saya telah menggunakan fitur "beku" untuk menyingkirkan beberapa aplikasi sistem, yaitu:

  • Keyboard ASUS
  • Kalender
  • Penyimpanan Kalender
  • com.android.providers.partnerbookmarks
  • com.android.sharestoragebackup
  • com.google.android.voicesearch
  • Layanan Pertukaran
  • Gmail
  • Google One Time Init
  • Google Play Books
  • Google Play Games
  • Google Play Magazines
  • Google Play Film
  • Google Play Music
  • Pencarian Google
  • Google Text-to-speech Engine
  • Hangouts
  • iWnn IME
  • iWnnIME Keyboard (Putih)
  • Init Satu Kali

Ini rupanya mengapa adb sideloadbail out awal dengan pesan kesalahan yang diberikan dalam pertanyaan saya.

Saya juga menghapus beberapa aplikasi sistem, dan saya pikir saya ingat "Drive" (ingat ?:) /system/app/Drive.apkadalah salah satunya.

Solusinya

Saya menemukan solusinya di forum.xda-developers.com dalam jawaban ini . Intinya adalah bahwa jika Anda memiliki gambar yang dimodifikasi, Anda harus mengembalikannya untuk membuat sideload OTA berhasil.

Pertama-tama unduh gambar stok untuk bangunan yang Anda miliki saat ini. Pastikan itu yang benar untuk perangkat Anda. Jadi saya mencoba memutakhirkan dari JSS15Rpada KRT16Spada versi Wi-Fi, yang berarti saya perlu mengunduh 4.3 (JSS15R)gambar. Itu adalah file razor-jss15r-factory-ec2d4f76.tgzdalam kasus saya. Saya kemudian membongkar apa yang memberi saya subfolder bernama razor-jss15r. Di dalamnya ada skrip shell, .imgfile, dan .zip( image-razor-jss15r.zip). Yang terakhir perlu dibongkar. Lalu aku punya .imgfile di folder saya membongkar .zipke:

  • boot.img
  • cache.img
  • recovery.img
  • system.img
  • userdata.img

Kemudian saya mengikuti langkah-langkah yang dijelaskan dalam jawaban yang ditautkan:

  1. boot ke bootloader (tetap Volume-downdan Powertekan langsung setelah dinyalakan)
  2. hubungkan USB (pastikan sebelum itu, bahwa semua driver USB diinstal )
  3. ubah ke folder dengan .imgfile yang sebelumnya dibongkar
  4. periksa dari prompt Android SDK yang Anda lihat perangkatnya fastboot devices.
  5. kemudian jalankan fastboot flash system system.imgyang akan mem-flash partisi sistem persediaan

Catatan: tidak seperti pada postingan tertaut, saya meninggalkan langkah dengan fastboot erase systemkarena yang tampaknya tersirat fastboot flash system system.imgseperti yang dapat dilihat dari output. Saya juga meninggalkan fastboot flash boot boot.imgdan fastboot flash recovery recovery.imgkarena saya pikir itu tidak mungkin bahwa "partisi" ini telah dimodifikasi (saya benar). Anda mungkin membutuhkan dua yang terakhir. Mungkin akan tergantung pada apa yang telah Anda modifikasi yang mencegah adb sideloadlangkah (yaitu membaca dan memahami pesan kesalahan).

Inilah hasilnya:

# 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, sistem bersih yang dapat diperbarui OTA.

Jadi singkatnya, Anda mungkin hanya perlu fastboot flash system system.imgdari gambar stok yang Anda jalankan, jika Anda pernah mendapatkan kesalahan selama fase verifikasi:

Verifying current system...
"/system/<SOME>.apk" has unexpected contents.
E:Error in /tmp/update.zip
(Status 7)

Unduh untuk gambar pabrik (Nexus 7, keduanya)

0xC0000022L
sumber