Ως αρχάριος του Android, αυτό που με ενοχλεί περισσότερο ήτανερχόμενος πέρα από την ορολογία πέρα από την κατανόησή μου. Δεν προέρχεται από ένα περιβάλλον Linux, έγινε δύσκολο να συμβαδίσει με τις λέξεις που χρησιμοποιούνται τόσο συχνά σε όλη την αναπτυξιακή κοινότητα. Ομοίως, δεδομένου ότι δεν κατανόησα τους όρους, κατά συνέπεια δεν κατάφερα να διαπιστώσω ότι κάτι δεν μου βοήθησε ή όχι. Από αυτό που έχω δει, αυτό το πρόβλημα επεκτείνεται σε πολλούς αρχάριους και ακόμη και σε μέσους χρήστες.
Μία λέξη που συνήθως εμφανίζεται όταν παίζετε μεπροσαρμοσμένες ROM και υλικολογισμικό, ακόμα και θέματα αποδόμησης και αποξένωσης. Οι περισσότεροι χρήστες αποτυγχάνουν να καταλάβουν τι σημαίνουν αυτοί οι όροι και ενώ οι προγραμματιστές θα καυχηθούν ξανά και ξανά για τα θέματα τους και για τους ROM που έχουν ξεπεραστεί, ο μέσος χρήστης παραμένει ανίδεος ως προς το τι συμβαίνει.

Σε αυτό το άρθρο, θα προσπαθήσουμε να εξηγήσουμε τι σημαίνουν και αποδόμηση σημαίνει και ποιες επιπτώσεις φέρνει σε έναν περιστασιακό χρήστη.
ΤΙ ΕΙΝΑΙ ΤΟ ΑΡΧΕΙΟ ODEX;
Στο σύστημα αρχείων Android, οι εφαρμογές έρχονταιπακέτα με την επέκταση .apk. Αυτά τα πακέτα εφαρμογών ή τα APK περιέχουν ορισμένα αρχεία .odex των οποίων η υποτιθέμενη λειτουργία είναι να εξοικονομούν χώρο. Αυτά τα αρχεία "odx" είναι πραγματικά συλλογές τμημάτων μιας εφαρμογής που βελτιστοποιούνται πριν από την εκκίνηση. Με αυτόν τον τρόπο, επιταχύνεται η διαδικασία εκκίνησης, καθώς προφορτώνει μέρος μιας εφαρμογής. Από την άλλη πλευρά, καθιστά επίσης δύσκολη την εφαρμογή των εφαρμογών αυτών, επειδή ένα μέρος της κωδικοποίησης έχει ήδη εξαχθεί σε άλλη τοποθεσία πριν από την εκτέλεση.
Τότε έρχεται η DEODEX
Η αποδέσμευση βασικά επανασυσκευάζει αυτά τα APK με έναν συγκεκριμένο τρόπο, έτσι ώστε να επανασυναρμολογούνται classes.dex αρχεία. Κάνοντας αυτό, όλα τα κομμάτια ενός πακέτου εφαρμογών συγκεντρώνονται πίσω σε ένα μέρος, εξαλείφοντας έτσι την ανησυχία ενός τροποποιημένου APK που έρχεται σε σύγκρουση με μερικά ξεχωριστά εξαρτήματα.
Εν ολίγοις, οι Deodexed ROMs (ή APKs) έχουν όλατα πακέτα εφαρμογών τους επιστρέφονται μαζί σε ένα μέρος, επιτρέποντας εύκολη τροποποίηση, όπως η δημιουργία θεμάτων. Δεδομένου ότι κανένα κομμάτι κώδικα δεν προέρχεται από οποιαδήποτε εξωτερική τοποθεσία, οι προσαρμοσμένες ROM ή APK είναι πάντα αποδιαμορφωμένες για να εξασφαλίσουν την ακεραιότητα.
ΠΩΣ ΛΕΙΤΟΥΡΓΕΙ
Για τους πιο περίεργους μεταξύ μας, το Android OS χρησιμοποιεί μια εικονική μηχανή που βασίζεται στην Java για την εκτέλεση εφαρμογών, που ονομάζεται Dalvik Virtual Machine. Μια αποδέσμευση, ή .dex Το αρχείο περιέχει την προσωρινή μνήμη που χρησιμοποιείται από αυτό το εικονικό μηχάνημα (αναφέρεται ως Dalvik-cache) για ένα πρόγραμμα και αποθηκεύεται μέσα στο APK. Ενα .odex το αρχείο, από την άλλη πλευρά, είναι μια βελτιστοποιημένη έκδοση του ίδιου .dex αρχείο που είναι αποθηκευμένο Επόμενο στο APK σε αντίθεση με το εσωτερικό του. Το Android εφαρμόζει αυτήν την τεχνική από προεπιλογή σε όλες τις εφαρμογές του συστήματος.
Τώρα, όταν ξεκινάει ένα σύστημα που βασίζεται στο Android, η cache davlik για το Davlik VM είναι κατασκευασμένη χρησιμοποιώντας αυτά .odex αρχεία, επιτρέποντας στο λειτουργικό σύστημα να μάθει εκ των προτέρων τι θα φορτώσει τις εφαρμογές και έτσι θα επιταχύνει τη διαδικασία εκκίνησης.
Διαχωρίζοντας αυτές τις APK, ένας προγραμματιστής τοποθετεί το .odex αρχειοθετούνται πίσω στα αντίστοιχα πακέτα APK. Δεδομένου ότι όλος ο κώδικας περιέχεται πλέον στο ίδιο το APK, είναι δυνατή η τροποποίηση οποιουδήποτε πακέτου εφαρμογής χωρίς να δημιουργείται αντίθεση με το περιβάλλον εκτέλεσης του λειτουργικού συστήματος.
ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΜΕΙΟΝΕΚΤΗΜΑΤΑ
Το πλεονέκτημα της αποδέσμευσης είναι σε τροποποίησηδυνατότητες. Αυτό χρησιμοποιείται ευρέως σε προσαρμοσμένες ROM και θέματα. Ένας προγραμματιστής που δημιουργεί ένα προσαρμοσμένο ROM θα αποφάσιζε σχεδόν πάντα να αποκωδικοποιήσει πρώτα το πακέτο ROM, αφού αυτό όχι μόνο θα του επέτρεπε να τροποποιήσει διάφορα αρχεία APK, αλλά και να αφήνει περιθώρια για μετα-εγκατάσταση theming.
Από την άλλη πλευρά, δεδομένου ότι το .odex τα αρχεία έπρεπε να κατασκευάσουν γρήγορα το dalvikcache, η κατάργησή τους θα σημαίνει μεγαλύτερους χρόνους αρχικής εκκίνησης. Ωστόσο, αυτό ισχύει μόνο για την πρώτη εκκίνηση μετά την αποδέσμευση, καθώς η κρυφή μνήμη θα εξακολουθεί να χτίζεται με την πάροδο του χρόνου καθώς χρησιμοποιούνται οι εφαρμογές. Οι μακρύτεροι χρόνοι εκκίνησης μπορούν να δουν ξανά μόνο εάν η cache του dalvik σκουπιστεί για κάποιο λόγο.
Για έναν περιστασιακό χρήστη, η κύρια επίδραση είναι στις δυνατότητες θεμάτων. Τα θέματα για το Android έρχονται επίσης σε APK και, αν θέλετε να τροποποιήσετε κάποια από αυτά, θα πρέπει πάντα να επιλέξετε ένα custom dedoexed ROM.
'Ηταν αυτό το άρθρο χρήσιμο? Εάν συγχέεται με κάποιους άλλους όρους και θέλετε να τους εξηγήσετε, παρακαλούμε ενημερώστε μας στα σχόλια.
Σχόλια