Obtention d'une erreur de vérification lors de la tentative de «chargement secondaire» de la mise à jour OTA sur Nexus 7 (2013)

17

Remarques:

  • La tablette est déverrouillée et enracinée (SuperSU Pro v1.75)
  • J'ai le flash de récupération suivant en place: TWRP 2.6.3.0, mais je démarre la récupération de stock pour l' adb sideloadinvocation
  • Les pilotes sont installés, l'hôte est Win 7 x64 et le périphérique est détecté dans tous les modes (MTP, débogage USB, chargeur de démarrage)

Lorsque j'essaie adb sideload(via la récupération de stock) du fichier 7d9b309e11da82edb5373a1f59965bca89f6041f.signed-razor-KRT16S-from-JSS15R.7d9b309e.zipsur mon Nexus 7 (2013) [Wi-Fi], je reçois une erreur:

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.

Qu'est-ce que je fais mal? Que dois-je changer pour adb sideloadréussir?

0xC0000022L
la source
Il y a aussi une chance que vous puissiez utiliser un autre chargeur de récupération / démarrage. Pour installer le dernier CM sur mon XT925, par exemple, j'ai dû utiliser l'image personnalisée de la page de téléchargement (elle est même un peu plus petite que celle de l'horlogerie). Gardez également à l'esprit que le redémarrage de fastload dans le chargeur de démarrage peut être très, très délicat, car il peut être remplacé par un chargeur de démarrage standard au redémarrage.
cregox

Réponses:

11

Objectif

Si vous avez téléchargé l'image OTA et que, comme dans mon cas, vous vous êtes retrouvé sans succès, vous devriez pouvoir le faire adb sideload <filename>encore manuellement ( vidéo ici ).

Problème / erreur

... malheureusement, la mise à jour OTA via des adb sideloaderreurs avec:

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.apkpourrait être n'importe quelle application système.

Qui n'est pas à blâmer?

  • TWRP n'est pas à blâmer, je le pensais au début, mais cela fonctionnerait également avec TWRP.
  • TitaniumBackup Pro. Depuis que j'ai rooté mon appareil et que j'utilise une fonction utilisateur expérimenté, j'aurais connaître ses effets secondaires. Maintenant, je sais, cependant :) ... et il y a de fortes chances que vous en appreniez plus à partir de cette réponse maintenant.

Cause apparente de l'erreur

En utilisant Titanium Backup Pro, j'avais utilisé la fonction "gel" pour se débarrasser de certaines applications du système, à savoir:

  • Clavier ASUS
  • Calendrier
  • Stockage du calendrier
  • com.android.providers.partnerbookmarks
  • com.android.sharedstoragebackup
  • com.google.android.voicesearch
  • Services d'échange
  • Gmail
  • Google One Time Init
  • Google Play Livres
  • Jeux Google Play
  • Magazines Google Play
  • Films Google Play
  • Google Play Musique
  • Recherche Google
  • Moteur de synthèse vocale Google
  • Hangouts
  • iWnn IME
  • Clavier iWnnIME (blanc)
  • Init unique

C'est apparemment pourquoi le adb sideloadrenfloué tôt avec le message d'erreur donné dans ma question.

J'ai également désinstallé certaines des applications système, et je pense que je me souviens que "Drive" (rappelez-vous?:) Était l' /system/app/Drive.apkune d'entre elles.

La solution

J'ai trouvé la solution sur forum.xda-developers.com dans cette réponse . L'essentiel est que si vous avez une image modifiée, vous devez la restaurer pour que la charge latérale OTA réussisse.

Téléchargez d'abord l'image de stock pour la version que vous avez actuellement. Assurez-vous que c'est le bon pour votre appareil. J'essayais donc de passer de JSS15Rà KRT16Sla version Wi-Fi, ce qui signifiait que je devais télécharger l' 4.3 (JSS15R)image. C'était le dossier razor-jss15r-factory-ec2d4f76.tgzdans mon cas. J'ai ensuite déballé ce qui m'a donné un sous-dossier nommé razor-jss15r. À l'intérieur, il y avait des scripts shell, un .imgfichier et un .zip( image-razor-jss15r.zip). Ce dernier devait être déballé. Ensuite, j'avais les .imgfichiers dans le dossier dans lequel je les ai décompressés .zip:

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

Ensuite, j'ai suivi les étapes décrites dans la réponse liée:

  1. démarrer dans le chargeur de démarrage (garder Volume-downet Powerappuyer directement après l'avoir allumé)
  2. connectez l'USB (assurez-vous avant cela que tous les pilotes USB sont installés )
  3. changer dans le dossier avec les .imgfichiers précédemment décompressés
  4. vérifiez à partir de l'invite du SDK Android que vous voyez l'appareil avec fastboot devices.
  5. puis exécutez fastboot flash system system.imgce qui fera clignoter une partition du système de stock

Remarque: contrairement à l'article lié, j'ai omis l'étape avec le fastboot erase systemcar cela est apparemment impliqué par fastboot flash system system.imgcomme on peut le voir sur la sortie. J'ai également laissé de côté fastboot flash boot boot.imget fastboot flash recovery recovery.imgparce que je pensais qu'il était peu probable que ces "partitions" aient été modifiées (j'avais raison). Vous aurez peut-être besoin des deux derniers, cependant. Cela dépendrait probablement de ce que vous avez modifié qui empêche l' adb sideloadétape (c'est-à-dire lire et comprendre le message d'erreur).

Voici la sortie:

# 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, un système propre qui peut être mis à jour OTA.

Donc, en bref, vous n'aurez peut-être besoin que fastboot flash system system.imgde l'image stock que vous exécutez, si jamais vous obtenez une erreur pendant la phase de vérification:

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

Télécharger pour les images d'usine (Nexus 7, les deux)

0xC0000022L
la source