4 votes

Après avoir réinstallé Android à partir d'images stock, pourquoi les mises à jour se plaignent-elles de fichiers /system modifiés ?

Après avoir découvert à la dure que enracinement modification de /system en regardant /system la mauvaise façon casse les mises à jour, j'ai décidé de laisser tomber tous les trucs d'utilisateur et de suivre la voie officielle - pas de système de récupération personnalisé ou de rooting ou de tout ce qui est juste du pur Android. A cette fin, j'ai entrepris exécution d'une réin remise à l'usine [unrooting] pour ainsi dire.

Voici les étapes que j'ai suivies :

  1. Acquérir le platform-tools pour le système d'exploitation de votre ordinateur. Extrayez-les et ajoutez le répertoire résultant à votre $PATH .
  2. Télécharger une image stock-Android en s'assurant que l'identifiant du modèle correspond à celui de votre appareil, mais que la version est pas le plus récent (ceci est nécessaire pour l'étape 8). Vérifiez l'image en utilisant le hachage inclus dans la table, puis extrayez-la. Lancez un shell si vous ne l'avez pas déjà fait, et allez dans le répertoire extrait.
  3. Déverrouiller le bootloader ( fastboot oem unlock ).
  4. Réinstaller Android ( ./flash-all.sh ). Assurez-vous d'attraper le périphérique avant le dernier redémarrage en maintenant la combinaison de touches boot-to-recovery enfoncée dès que le script imprime rebooting... après avoir écrit l'image cache (cela vous évite de devoir redémarrer pour l'étape suivante).
  5. Verrouiller le chargeur de démarrage ( fastboot oem lock ).
  6. Redémarrage. Attendez qu'Android fasse ce qu'il fait quand vous démarrez une nouvelle version pour la première fois.
  7. Passez par la configuration initiale de l'appareil. (Personnellement, je me connecte à un réseau Wi-Fi, puis je saute tout le reste pour gagner un peu plus de temps).
  8. Recherchez, téléchargez et installez une mise à jour du système d'exploitation Android. Attendez encore un peu pendant que ça se passe.
  9. Observez ce qui suit sur l'écran de l'appareil, avec le texte suivant Error! en blanc en dessous :

Pictured: the Android robot on its back, with an exclamation mark inside a red triangle.

  1. Faites apparaître le menu de récupération et choisissez View recovery logs alors /cache/recovery/last_log . Faites défiler jusqu'en bas et cherchez une indication de la raison pour laquelle la mise à jour a échoué. Transcrivez les lignes les plus pertinentes, ainsi que la version et l'ID de construction de l'image de l'étape 2.

Mon appareil est un Nexus 5, acheté en novembre 2013 sur le Play Store. Jusqu'à présent, j'ai essayé ceci en utilisant Android 6.0.0/MRA58K et Android 5.1.1/LMY48M, ce qui a donné les résultats suivants dans les journaux de récupération :

6.0.0/MRA58K :

failed to stat "/cache/saved.file": No such file or directory
script aborted: "/system/priv-app/SetupWizard/oat/arm/SetupWizard.odex" has unexpected contents.

5.1.1/LMY48M :

Remounting and verifying system partition files...
script aborted: assert failed: sha1_check(read_file("/system/fonts/NotoSansTC-Regular.otf"), some_hash)

Dans les deux cas, le problème semble être un fichier situé sous /system avec des contenus qui ne correspondent pas à ceux attendus par le programme de mise à jour. C'est exceptionnellement frustrant, étant donné que ma procédure spécifiquement fait appel à des images officielles de stock-Android, récupérées sur le site de Google et vérifiées à l'aide des hachages qu'ils publient (et oui, je m'assure d'utiliser TLS).

Ai-je manqué une étape ? Qu'est-ce qui ne va pas ici ? Et comment puis-je revenir sur le chemin béni et être à nouveau jugé digne de recevoir les mises à jour over-the-air tant recherchées ?

1voto

Anubhav Agarwal Points 1403

Le retour à la ROM d'origine nécessite un formatage complet car les partitions ainsi que leurs attributs sont généralement différents sur les différentes ROM. Cela résoudra votre problème avec l'avènement d'un changement possible dans les informations de l'appareil comme l'IMEI ou similaire. Un autre inconvénient est la réduction de la mémoire due au formatage, surtout si vos partitions contenaient beaucoup de données utilisateur lors du formatage.

Suggestion : répétez vos étapes à nouveau, mais cette fois-ci assurez-vous de monter votre partition /system et de la formater également, démontez-la ensuite (elle devrait se démonter automatiquement).

Maintenant. Que le flashage commence...

0voto

blacktiger Points 2130

Je n'ai pas d'explication pour vous, mais essayez d'autres versions en général, et le build MRA58N en particulier.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X