3 votes

Quel processus se produit lorsqu'il y a une optimisation du système ?

Ma question est la suivante : Il n'y a pas longtemps, je déplaçais des apk, des données et des . dex fichiers dans les répertoires / données, et ils n'ont pas montré les applications que j'avais installé manuellement, si ce n'est jusqu'à ce que je redémarre sur l'appareil et un message est apparu disant "optimiser le système" à partir du moment où j'ai été curieux à ce sujet.

Mon but est d'apprendre ce qui se passe dans ce processus et de savoir comment pouvoir le répéter manuellement.

Si vous savez quelque chose à ce sujet, je serai heureux d'entendre vos commentaires et réponses.

7voto

xavier_fakerat Points 9582

Que fait Android quand il dit "optimiser les applications/le système" ?

En fait, le système Android va créer une version optimisée de chaque application. Ce processus permet à chaque application de démarrer aussi vite que possible avec la nouvelle version d'Android.

Alors qu'il dit "optimiser", le système d'exploitation génère des fichiers "odex pour vos applications à partir de zéro. Pour expliquer simplement, les fichiers odex peuvent aider le système à démarrer plus rapidement et réduire le temps nécessaire au lancement des applications.

Fichiers Apk et fichiers odex

Pour faire court, lorsqu'un fichier APK est ajouté à votre Android système, il n'est pas réellement stocké de cette façon. Il est converti en quelque chose appelé un fichier "odex".

Le système d'exploitation Android ne stocke pas les applications telles quelles après leur installation (c'est-à-dire un seul fichier APK). Une version optimisée de l'application est stockée dans le cache Dalvik - appelée le odex fichier."

Qu'est-ce qu'un fichier Odex ?

Dans le système de fichiers Android, les applications sont présentées dans des paquets portant l'extension .apk. Ces paquets d'applications, ou APKs, contiennent certaines .odex (Optimized Dalvik EXecutable) dont la fonction supposée est d'économiser de l'espace. Ces odex sont en fait des collections de parties d'une application qui sont optimisées avant le démarrage. Cela permet d'accélérer le processus de démarrage, car une partie de l'application est préchargée. D'autre part, cela rend le piratage de ces applications difficile, car une partie du codage a déjà été extraite vers un autre emplacement avant l'exécution.

Deodex

Le deodexing consiste essentiellement à reconditionner ces APK d'une certaine manière, de sorte qu'ils soient réassemblés en classes.dex (Dalvik EXecutable).

En faisant cela, toutes les pièces d'un paquet d'applications sont réunies en un seul endroit, éliminant ainsi le souci d'un APK modifié modifié entre en conflit avec certaines parties séparées d'odexed.

En résumé, les ROMs (ou APK) dédexées ont tous leurs paquets d'applications réunis en un seul endroit, ce qui permet de les modifier facilement, par exemple en les thématisant. Comme aucun morceau de code ne provient d'un emplacement externe, les ROMs ou APKs personnalisés sont toujours dédexés pour garantir leur intégrité.

Il existe plusieurs explications sur la façon dont cela fonctionne :

Dans Android, les applications se présentent sous forme de paquets portant l'extension .apk. Ces paquets d'applications, ou APKs, contiennent certaines .odex dont les fichiers fonction supposée est d'économiser de l'espace. Ces fichiers "odex" sont en fait des collections de parties d'une application qui sont optimisées avant le démarrage. Cela permet d'accélérer le processus de démarrage, car une partie de l'application est préchargée. d'une application.

Android OS utilise une machine virtuelle basée sur Java pour exécuter les applications, appelée la machine virtuelle Dalvik. Une machine virtuelle deodexée, ou .dex Le fichier contient le cache utilisé par cette machine virtuelle (appelé Dalvik-cache) pour un programme, et il est stocké à l'intérieur de l'APK. Un .odex d'autre part, le fichier d'autre part, est une version optimisée de ce même fichier .dex qui est stocké à côté de l'APK plutôt qu'à l'intérieur. Android applique cette technique par défaut à toutes les applications du système. Maintenant, quand un Android démarre, le cache davlik de la VM Davlik est construit à l'aide de ces fichiers. construit en utilisant ces .odex permettant au système d'exploitation d'apprendre à l'avance quelles applications seront chargées, ce qui accélère le processus de démarrage. démarrage. En désodexant ces APK, un développeur replace en fait les fichiers .odex dans leurs paquets APK respectifs. Puisque tout le code est maintenant est maintenant contenu dans l'APK lui-même, il devient possible de modifier n'importe quelle paquet d'application sans entrer en conflit avec le fichier d'exécution du système d'exploitation.

Comment effectuer le processus manuellement ;

Si vous souhaitez optimiser manuellement vos apks, il existe quelques options :

Remerciements

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