3 votes

Qu'est-ce qu'une application "odex" ?

J'ai vu une application (j'ai oublié le nom) sur le Galaxy Mini de mon cousin alors que j'étais dans l'application Link2SD. Il a le -Odex- à côté de son nom. C'était la seule application de ce type sur Link2SD. J'étais curieux alors je lui ai demandé mais apparemment, il ne sait pas non plus, c'est pourquoi je me tourne maintenant vers ici, qu'est-ce qu'une application "odex" exactement ?

Après quelques recherches sur Internet, j'ai compris qu'il s'agissait d'une sorte de "chose" brisée, comme s'il s'agissait de pièces séparées. Ils parlent aussi de "désintoxication" mais ils parlent toujours de roms et non applications . Donc, comme question supplémentaire, comment dois-je "deodexer" cette application ? (Je suis un peu OCD comme ça :P)

7voto

Milner Points 533

Pour résumer les informations pertinentes, permettez-moi de citer un extrait de la question-réponse dont eldarerathis a donné le lien ci-dessus (tous les crédits lui reviennent, car ce texte est tiré de sa réponse) :

A .dex est essentiellement une version compilée en bytecode d'une application qui a été construite pour la VM Dalvik sur laquelle les applications Android fonctionnent. Je crois que c'est l'abréviation de Dalvik Executable, mais je ne suis pas sûr de m'en souvenir correctement.

Un site .odex est un fichier .dex optimisé (d'où le 'o'), ce qui signifie qu'il a été précompilé pour une plateforme spécifique. L'avantage est que le démarrage est beaucoup plus rapide puisque la VM n'a pas à effectuer d'optimisation au démarrage ou au moment de l'exécution. Les inconvénients sont les suivants : 1) cela prend de l'espace supplémentaire et 2) une application odexée ne fonctionnera pas correctement si elle est placée sur un autre appareil, et elle doit avoir le fichier .odex associé pour fonctionner.

Lorsque vous installez une application, Android analysera la .apk et configurer le cache Dalvik de l'appareil avec une version optimisée de son code, de sorte que l'application démarre et s'exécute plus rapidement (après une réinitialisation de l'appareil, elle le fait pour les applications suivantes alle et après avoir effacé le cache Dalvik, ce qui est possible à partir du menu de récupération avec la plupart des CustomROMs, même pour toutes les applications utilisateur - c'est pourquoi le premier démarrage est beaucoup plus long que les suivants).

Cependant, lorsqu'un "odex" est trouvé, il est simplement copié dans le cache Dalvik. Comme l'a souligné eldarerathis, l'option .odex a été conçu pour un matériel spécifique (ce qui me fait penser à Assembly) - donc si ce "matériel spécifique" n'est pas celui utilisé par le dispositif actuel, vous aurez certainement des problèmes.

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