Πίνακας περιεχομένων:
Ο Clark γράφει,
Ποιο είναι το heck που κάνει το odx και το deodex πράγμα που σημαίνει; Βλέπω τους όρους που αναφέρονται σχεδόν σε κάθε προσαρμοσμένο νήμα ROM και δεν βρίσκω μια απάντηση που μπορώ να καταλάβω. Ελπίζω ότι το Android Central μπορεί να βοηθήσει.
Θαυμάσια ερώτηση, Clark. Και νομίζω ότι μπορούμε να απαντήσουμε με όρους που θα καταλάβουν οι περισσότεροι λαοί. Όπως σημειώσατε, βλέπετε τους όρους όχρωμα και deodexed σε πολλές δημοσιεύσεις φόρουμ σχετικά με προσαρμοσμένες ROMs ή ανάμικτες hacks για τηλέφωνα και ταμπλέτες και τα δύο. Χρειάζεται πολλή δουλειά για τους προγραμματιστές να δημιουργούν ξεχωριστές ROM από "αποθέματα" ROM, όπως αυτές που προσφέρονται τόσο από τους OEM όσο και από την Google.
Για να ξεκινήσουμε, πρέπει να γνωρίζουμε τι είναι ένα αρχείο odx. Είναι ένα μέρος μιας εφαρμογής (του αρχείου.apk) που έχει προετοιμαστεί για να κάνει το Dalvik Virtual Machine να το φορτίζει πιο γρήγορα χρησιμοποιώντας λιγότερους πόρους. Εάν κοιτάξετε στον / system / app / φάκελο στο τηλέφωνο ή στο tablet Android, θα δείτε ότι σχεδόν κάθε εφαρμογή έχει αρχείο.apk και αρχείο.odex. Αυτά τα αρχεία λειτουργούν μαζί μέσω του Dalvik VM για να κάνουν τις εφαρμογές να τρέχουν όπως πρέπει στις συσκευές μας. Ας σπάσουμε όλα μετά από το διάλειμμα.
Το Dalvik VM
Το Dalvik VM είναι ένα μεγάλο μέρος ενός συστήματος Android. Είναι το στοιχείο που επιτρέπει σε τρίτες εφαρμογές γραμμένες σε Java να εκτελούνται στο τηλέφωνο ή στο tablet σας. Το ίδιο το σύστημα ξεκινά το DVM επάνω, και όταν πιέζετε για να ξεκινήσει μια εφαρμογή πηγαίνει στην εργασία. Παίρνει τα δεδομένα μέσα στα αρχεία.apk και χρησιμοποιώντας έναν μεταγλωττιστή Just-in-Time (JIT), χτίζει τις πληροφορίες σε ένα πρόγραμμα και στη συνέχεια το εκτελεί. Έχοντας τμήματα του κώδικα που έχουν ήδη βελτιστοποιηθεί και ενσωματωθεί σε ένα αρχείο που μπορεί να τρέξει το DVM κάνει τη διαδικασία ταχύτερη και χρησιμοποιεί λιγότερους πόρους. Αυτό είναι που είναι ένα αρχείο Odx.
Αρχεία Odex
Τα αρχεία ODXX που βλέπετε στο φάκελο του συστήματός σας είναι κατασκευασμένα από τους ανθρώπους που έγραψαν και δημιούργησαν την ίδια την εφαρμογή. Οι εφαρμογές Android είναι γραμμένες σε Java και στη συνέχεια μετατρέπονται σε bytecode. Στη συνέχεια, μετατρέπονται από τα συμβατά αρχεία.class συμβατά με το Java Virtual Machine σε έναν ειδικό τύπο αρχείου που μπορεί να διαβάσει το Dalvik VM. Αυτά ονομάζονται αρχεία.dex. Όταν αυτά τα αρχεία.dex τοποθετούνται εκτός του υπόλοιπου κώδικα (το οποίο βρίσκεται στο αρχείο.apk), έχετε αφήσει ένα αυτόνομο αρχείο.odex.
Υπάρχουν αρκετοί λόγοι για να έχετε μόνο αρχεία.odex. Κάνουν τους χρόνους εκκίνησης γρηγορότερους (ειδικά το πρώτο boot), δημιουργώντας το Dalvik-cache καθώς το σύστημα εκκινείται. Επίσης, εξοικονομούν χώρο, επισημαίνοντας το πλαίσιο Android, όποτε είναι δυνατόν, και επιτρέπουν στον προγραμματιστή εφαρμογών να βελτιστοποιεί τα προγράμματά του / της. Αλλά έχοντας τα αρχεία seperate.odex δεν είναι πολύ φιλικός προς τους χάκερ.
Αποκωδικοποίηση
Αποσύνδεση αρχείων σημαίνει τη λήψη του αρχείου stand alone αρχείου.odex και του αρχείου.apk και την ανοικοδόμησή τους έτσι ώστε όλες αυτές οι προκαθορισμένες πληροφορίες εφαρμογής να περιέχονται μέσα στο αρχείο.apk αντί του δικού του αρχείου. Τα προεπιλεγμένα δεδομένα για το Dalvik VM βρίσκονται τώρα σε ένα αρχείο classes.dex μέσα στο αρχείο.apk, όπως στην παραπάνω εικόνα. Αυτό καθιστά τα αρχεία.apk λίγο μεγαλύτερα και δεν μπορούν να φορτωθούν εκ των προτέρων όταν ενεργοποιηθεί το σύστημα. Αλλά μπορούν να αντιστραφούν από μηχανικούς και hackers.
Με όλο τον κώδικα και τα δεδομένα για το πρόγραμμα σε ένα μέρος, μπορείτε να χρησιμοποιήσετε τα εργαλεία για να "ανοικοδομήσετε" την εφαρμογή και να την επεξεργαστείτε όσο θέλετε. Αυτός είναι ο τρόπος με τον οποίο διαμορφώνονται θέματα και τροποποιήσεις όπως οι ποσοστιαίες τροποποιήσεις μπαταρίας για "αποθέματα" ROM. Αφού ο προγραμματιστής κάνει τις αλλαγές του, τότε ξανακτίζουν το αρχείο.apk και οι αλλαγές μπορούν να εκτελεστούν. Αυτό δεν θα επηρεάσει κανένα άλλο μέρος του συστήματος, επειδή κανένας κώδικας ή δεδομένα δεν μοιράζονται με άλλες εφαρμογές.
Ποια θα πρέπει να επιλέξετε;
Αυτό εξαρτάται πραγματικά από εσάς και ποιες θα είναι οι ανάγκες σας, αλλά προτείνω να αναβοσβήνει μια έκδοση deodex όποτε είναι δυνατόν. Ναι, τα ODX ROMs εκκινούν ταχύτερα, αλλά πραγματικά το παρατηρείτε μόνο στην πρώτη εκκίνηση, όταν όλες οι εφαρμογές του συστήματος είναι προ-προσωρινά αποθηκευμένες από το Dalvik VM. Μπορείτε επίσης να αποθηκεύσετε ένα καλό διάστημα χρησιμοποιώντας αρχεία Odx, αλλά αυτός ο χώρος βρίσκεται στο διαμέρισμα του συστήματος και δεν θα σας δώσει χώρο για περισσότερες εφαρμογές εάν το τηλέφωνό σας ή το tablet σας χρησιμοποιούν ξεχωριστό διαμέρισμα εφαρμογής. Με τα σημερινά μοντέρνα τηλέφωνα και τους επεξεργαστές πολλαπλών πυρήνων τους και τις τεράστιες τράπεζες μνήμης RAM, δεν θα παρατηρήσετε καν γρηγορότερους χρόνους φόρτωσης των εφαρμογών.
Εάν θέλετε να κάνετε πράγματα όπως αλλαγή της γραμμής κατάστασης ή του θέματος TouchWiz ή Sense, θα χρειαστείτε ένα deodex ROM. Θα χρειαστείτε επίσης ένα ROM deodex για να κάνετε μερικά από τα πραγματικά δροσερά βαθιά τσιμπήματα του συστήματος, όπως αλλαγή του μενού ρυθμίσεων ή επεξεργασίες στο πλαίσιο. Εν ολίγοις, εάν έχετε ήδη ξεκλειδώσει το bootloader και έχετε ριζώσει, και είστε έτοιμοι για μια προσαρμοσμένη ROM, επιλέγοντας μια έκδοση deodexed είναι ίσως η καλύτερη επιλογή. Θα εκπλαγείτε με τα πράγματα που μπορούν να βρουν οι τρελοί προγραμματιστές και σίγουρα θα συναντήσετε λίγους που θέλετε να δοκιμάσετε μόνοι σας.