2 votes

La suppression du fichier /system/bin/dex2oat est-elle sans danger ?

J'ai examiné quelques fichiers de pierres tombales Android d'un vieux téléphone Samsung fonctionnant sous Marshmallow. J'ai trouvé un crash dans chacun d'entre eux avec le même coupable, dex2oat .

D'après ma compréhension limitée, il s'agit d'un compilateur qui prend les arguments du runtime Android et les convertit. dex vers des fichiers optimisés pour Android dans oat format.

J'ai rencontré le même problème même si j'ai fait une réinitialisation d'usine ou si j'ai gelé beaucoup d'applications. J'ai fait un rootage de l'appareil et j'ai décidé de prendre des risques. J'ai d'abord fait une sauvegarde et j'ai supprimé dex2oat de /system/bin . J'ai ensuite redémarré le système au risque de le faire disjoncter.

Jusqu'à présent, il fonctionne bien.

En raison de mon manque de compréhension, je ne sais pas à quel point cela est crucial. dex2oat à la stabilité du système et je voudrais savoir quel est l'impact sur celle-ci.

0voto

Irfan Latif Points 16863

Le Runtime est un environnement dans lequel s'exécutent les programmes écrits dans un langage spécifique. Android Runtime (ART) est un runtime de type Java qui exécute le bytecode Dalvik Executable (DEX) (à partir de apk ) dans une machine virtuelle. Comme les autres environnements d'exécution, ART peut exécuter le code dans trois modes différents :

  • Interprétation
  • Compilation juste à temps (JIT)
  • Compilation Ahead of Time (AOT)

Afin d'améliorer les performances, les compilateurs JIT et AOT traduisent le bytecode DEX (respectivement pendant ou avant l'exécution) en langage machine natif. Le compilateur JIT faisait partie de DVM, lue à ART dans Android 7. Depuis, le compilateur AOT prend également en charge la compilation en arrière-plan guidée par le profil. Les profils d'application sont créés pendant les exécutions de la compilation JIT.

L'interprète fait partie des bibliothèques ART, dex2oat est utilisé comme compilateur JIT et AOT. Documentation États :

Au moment de l'installation, ART compile les applications à l'aide de la fonction dex2oat l'outil. Cet utilitaire accepte les fichiers DEX en entrée et génère une application exécutable compilée pour l'appareil cible.

Et aquí :

JIT et AOT utilisent le même compilateur avec un ensemble similaire d'optimisations.

Sur votre ROM Marshmallow, la compilation AOT ne fonctionnera pas en l'absence de dex2oat ce qui peut nuire à la performance de l'application. De plus, les installd service autochtone et PackageManager Le service Java s'appuie sur dex2oat lors de l'installation d'une application ou de la mise à jour du profil d'une application déjà installée. Elles peuvent donc se briser en raison d'un fichier manquant.

En résumé, installd o dex2oat les pannes sont des bogues graves dans votre ROM qui doivent être corrigés. Suppression dex2oat Le binaire n'est pas une solution mais une solution de contournement qui a toutes les chances d'échouer.


RELATED :

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