Comment fonctionne update.zip?

14

update.zip s sont des packages contenant des remplacements pour des parties d'un système Android. Les packages contiennent tous les fichiers que la mise à jour est destinée à remplacer et un script qui effectuera le remplacement lors de son exécution.

Update.zips peut provenir de mises à jour OTA mais dans certains cas, il est nécessaire de télécharger manuellement et de mettre un update.zip dans un dossier spécial. Cependant, le fichier update.zip est toujours détecté et appliqué de la même manière.

Quelle partie d'Android détecte et gère update.zips?

enthdegree
la source

Réponses:

18

update.zip ne sont jamais touchés par Android.

À l'intérieur de cette archive se trouve un script qui est analysé et interprété par le runtime de récupération.

La récupération, lors de l'exécution, ouvre l'archive en décompressant dans un répertoire temporaire, lit le script, bien nommé update-script, l'analyse et, en fonction de la syntaxe, exécute une fonction connue de la récupération, cette fonction peut faire ce qui suit, pour ne nommer qu'un peu:

  • monter /systemet d'autres systèmes de fichiers, et effectuer des opérations de lecture / écriture de fichiers, y compris la copie du noyau, ou, un apk ou même le formatage d'une partition, etc.
  • vérifiez la build.proppour certaines propriétés, telles que l'appareil, le fabricant, etc.
  • imprimer l'affichage à l'écran, les informations de progression, etc.

C'est à peu près une norme de facto intégrée à Android Open Source Project (AOSP)

ClockworkMod, TWRP sont des dérivés de la version barebones qui réside dans AOSP avec des améliorations supplémentaires, telles que la saisie sur écran tactile.

t0mm13b
la source
+1 très intéressant. La récupération ne fait donc pas partie d'Android lui-même? De quoi relève-t-il? Une partie de Linux, une entité distincte?
RossC
2
@RossC L'environnement de récupération approprié réside sur une /recoverypartition distincte (certains fabricants ne le font pas pour une raison inconnue, pseudo-récupération). . Le vrai plaisir d'un modder est un appareil qui a la partition séparée pour la récupération.
t0mm13b
1
/recoveryne ressemble pas à une partition. Sous Linux, ce n'est qu'un répertoire. Ce pourrait être une partition montée - mais ce n'est toujours qu'un répertoire. Je dis cela parce que c'est une idée fausse courante que j'ai remarquée chez les utilisateurs d'Android.
jcora
@yannbane - essayez ceci, cat /proc/mtdou regardez /proc/partitionscomment fonctionne le chargeur de démarrage, si vous appuyez sur vol dwn, le chargeur de démarrage lit le noyau /recoveryet le charge en chaîne, ce qui entraîne une récupération de stock ou personnalisée. Ce n'est pas Linux ....
t0mm13b