Τι είναι το Zipalign στο Android και πώς να κάνετε τις εφαρμογές Zipaligned

click fraud protection

Αν είστε σκληροπυρηνικός θαυμαστής Android, οι πιθανότητες είναι μεγάλες ότι θα δοκιμάσετε με ανυπομονησία νέα θέματα, προσαρμοσμένα ROM και όλα αυτά τα mods για τη συσκευή σας. Ένα από τα κύρια σημεία σύγχυσης είναι η ορολογία που σχετίζεται με αυτά τα mods - κάτι αρκετά οικείο στους προγραμματιστές, αλλά όχι πολύ για τον αρχάριο χρήστη. Δύο από τις πιο συχνές λέξεις στα προσαρμοσμένα ROM και τα θέματα είναι «deodexed» και «zipalign». Λίγες μέρες πίσω, εμείς σκεπαστός «Deodexed» λεπτομερώς. Σε αυτό το άρθρο, θα το διερευνήσουμε τι σημαίνει zipalign και πώς τα APK μπορούν να ευθυγραμμιστούν με zip.

ΤΙ ΕΙΝΑΙ ΤΟ ZIPALIGN;

Το zipalign είναι ένα εργαλείο ευθυγράμμισης αρχείων που παρουσιάστηκε για πρώτη φορά με 1.6 SDK Android (κιτ ανάπτυξης λογισμικού). Βελτιστοποιεί τον τρόπο συσκευασίας ενός πακέτου εφαρμογών Android (APK). Με αυτόν τον τρόπο, το λειτουργικό σύστημα Android μπορεί να αλληλεπιδρά με την εφαρμογή πιο αποτελεσματικά, και ως εκ τούτου έχει τη δυνατότητα να κάνει την εφαρμογή και συνολικά ολόκληρο το σύστημα πολύ πιο γρήγορη. Ο χρόνος εκτέλεσης ελαχιστοποιείται για εφαρμογές με ευθυγράμμιση με zip, με αποτέλεσμα μικρότερη κατανάλωση RAM κατά την εκτέλεση του APK.

instagram viewer

ΠΩΣ ΛΕΙΤΟΥΡΓΕΙ ΑΚΡΙΒΩΣ;

Σε ένα λειτουργικό περιβάλλον Android, τα αρχεία δεδομένων που είναι αποθηκευμένα σε κάθε πακέτο εφαρμογών είναι προσβάσιμα από πολλές διαδικασίες, για παράδειγμα, ο εγκαταστάτης θα διαβάσει το μανιφέστο δεδομένων για να προσδιορίσει το συσχετισμένο δικαιώματα; ο διακομιστής συστήματος μπορεί να διαβάσει αυτούς τους πόρους για πολλούς λόγους, όπως η εμφάνιση ειδοποιήσεων. η εφαρμογή Home, για παράδειγμα, θα διαβάσει πόρους για να πάρει το όνομα και το εικονίδιο της εφαρμογής. Δεδομένου ότι το Android βασίζεται σε μια πραγματική λειτουργική υποδομή πολλαπλών εργασιών, αυτά τα αρχεία έχουν συνεχή και επανειλημμένη πρόσβαση. Τέλος, αλλά όχι λιγότερο σημαντικό, η ίδια η εφαρμογή διαβάζει τα προφανή δεδομένα.

Καθώς το Android βασίζεται σε Linux, η χαρτογράφηση μνήμης παίζει βασικό ρόλο στον αποτελεσματικό χειρισμό των διαδικασιών. Ουσιαστικά, η βέλτιστη ευθυγράμμιση για τον κώδικα χειρισμού πόρων του Android OS είναι όρια 4 byte. Αυτό σημαίνει ότι, εάν τα APK αντιστοιχίζονται στη μνήμη σε όρια 4 byte και ευθυγραμμίζονται ανάλογα, το λειτουργικό σύστημα δεν θα χρειαστεί να «διαβάσει» ολόκληρο το πακέτο εφαρμογών για να φτάσει στα επιθυμητά δεδομένα δηλωτικό. Κάθε διαδικασία του συστήματος θα γνωρίζει εκ των προτέρων πού να αναζητήσει τους επιθυμητούς πόρους και, ως εκ τούτου, θα εκτελεί πολύ πιο ομαλή και ταχύτερη.

Συνοψίζοντας, η ευθυγράμμιση ενός αρχείου με αποτέλεσμα όλα τα ασυμπίεστα δεδομένα εντός του πακέτου να ευθυγραμμιστούν σε όρια 4 byte, επιτρέποντας σε όλα τα τμήματα να έχουν άμεση πρόσβαση στον χάρτη μνήμης. Η κατανάλωση RAM μειώνεται κατά την εκτέλεση, επειδή ο κωδικός ερωτήματος δεν χρειάζεται να διαβάσει ολόκληρο το πακέτο εφαρμογών.

ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΑΡΧΙΚΩΝ APK

Αρκετά κατανοητό, η κατάσταση θα προοριζόταν για πακέτα μη ευθυγραμμισμένων εφαρμογών. Η ανάγνωση των πόρων θα ήταν αργή και η χρήση της μνήμης θα ήταν στο υψηλότερο άκρο του φάσματος. Εξαρτάται επίσης από τον αριθμό των μη ευθυγραμμισμένων εφαρμογών που υπάρχουν. Για παράδειγμα, εάν λιγότερος αριθμός εφαρμογών με μη ευθυγραμμισμένη οικιακή εφαρμογή, θα δείτε πιο αργούς χρόνους έναρξης εφαρμογής. Αυτό είναι το καλύτερο σενάριο. Για ένα χειρότερο σενάριο, η ύπαρξη ορισμένων μη ευθυγραμμισμένων εφαρμογών θα έχει ως αποτέλεσμα το σύστημα να ξεκινά και να σκοτώνει επανειλημμένα τις διαδικασίες, να παλεύει με καθυστερήσεις και τεράστια αποστράγγιση μπαταρίας.

ΠΩΣ το κάνετε, τότε;

Όπως αναφέρθηκε προηγουμένως, το εργαλείο zipalign έγινε μέρος του Android SDK από το 1.6 και μετά. Μπορεί να βρεθεί στο φάκελο «εργαλεία» του SDK. Για να το χρησιμοποιήσετε, απλώς εκτελέστε την εντολή:

zipalign [-f] [-v]  infile.apk outfile.apk

όπου infile.apk είναι το αρχείο προέλευσης και outfile.apk είναι το αρχείο εξόδου.

Επιπλέον, μπορείτε επίσης να επαληθεύσετε την ευθυγράμμιση ενός αρχείου APK χρησιμοποιώντας την ακόλουθη εντολή:

zipalign -c -v  υπάρχουσα.apk

όπου υπάρχουσα.apk μπορεί να είναι οποιοδήποτε πακέτο εφαρμογής που πρέπει να επαληθευτεί. Επίσης το και στις δύο εντολές πρέπει να είναι ακέραια τιμή (διαφορετικά η εντολή θα επιστρέψει άκυρη). Αυτή η τιμή, αν και μπορεί να είναι οποιοσδήποτε ακέραιος, ΠΡΕΠΕΙ να είναι πάντα 4, κάτι που θα παρέχει ευθυγράμμιση 32-bit. Οποιαδήποτε άλλη αξία και ουσιαστικά δεν θα κάνει τίποτα.

Τέλος, για τις σημαίες που χρησιμοποιούνται σε αυτές τις εντολές,

  • -φά: αντικαθιστά το υπάρχον outfile.zip
  • : θα δώσει ριζική έξοδο
  • -ντο: θα επιβεβαιώσει την ευθυγράμμιση ενός δεδομένου αρχείου

ΛΟΓΟΣ ΠΡΟΣΟΧΗΣ: Η λειτουργία zipalign πρέπει να εκτελείται μόνο μετά έχετε υπογράψει το αρχείο APK με το ιδιωτικό σας κλειδί. Εάν έχει ευθυγραμμιστεί με zip πριν από την υπογραφή, η διαδικασία υπογραφής θα διαταράξει την ευθυγράμμιση. Το ίδιο ισχύει για οποιαδήποτε άλλη αλλαγή, προσθήκη ή κατάργηση στο αρχείο APK. Οποιαδήποτε αλλαγή μετά την εκτέλεση του zipalign θα αναιρέσει την ευθυγράμμιση.

Αποποίηση ευθυνών: Αυτός ο οδηγός προορίζεται μόνο για εκπαιδευτικούς σκοπούς. Αυτό σε καμία περίπτωση δεν αντικαθιστά το κιτ εργαλείων προγραμματιστή Android, ούτε προορίζεται να χρησιμοποιηθεί για αναπτυξιακούς σκοπούς. Το AddictiveTips δεν παρέχει καμία υποστήριξη σχετικά με το υλικό που παρουσιάζεται εδώ.

watch instagram story