Το Xposed For Lollipop είναι πλέον επίσημα διαθέσιμο

Το Xposed Framework δεν χρειάζεται εισαγωγή στους αναγνώστες XDA. Όταν ρωτήθηκε για τα πράγματα της κοινότητάς μας μισεί περισσότερο το Lollipop, το μοναδικό σχόλιο με την υψηλότερη ψήφο στη συζήτηση ήταν ότι έσπασε την υποστήριξη για το Xposed. Στην πραγματικότητα, πολλά μέλη του φόρουμ αρνήθηκαν ακόμη και να ενημερώσουν το Lollipop ειδικά για αυτόν τον λόγο. Αλλά όλα αλλάζουν τώρα, καθώς το πολυαναμενόμενο Xposed Framework έφτασε επιτέλους για το Android Lollipop.

Εάν δεν είστε ήδη εξοικειωμένοι με το Xposed, με απλά λόγια, είναι θεϊκό δώρο στην κοινότητα των modding. Το Xposed δεν απαιτεί καμία ROM που αναβοσβήνει, αλλά φέρνει τόνους προσαρμογών και τροποποιήσεων που οι χρήστες μπορούν να εγκαταστήσουν όπως εφαρμογές σε συσκευές με root. Είναι απίστευτα απλό στη χρήση και με περιορισμένο κίνδυνο. Και τώρα, όλοι οι λάτρεις του Android στο Lollipop μπορούν να απολαύσουν τα οφέλη αυτού του φανταστικού έργου στις συσκευές τους. Αποκτήστε τη λήψη σας και προχωρήστε στο modding!

Το rovo89 ήταν επίσης αρκετά ευγενικό να μας παράσχει ένα Q&A για το πιο πρόσφατο έργο. Μπορείτε να βρείτε απαντήσεις σε όλες τις ερωτήσεις σας σχετικά με το έργο παρακάτω.

Γιατί πήρε τόσο πολύ; Το ART έχει εκδοθεί πριν από περισσότερο από ένα χρόνο!

Πρώτα απ 'όλα - πολλοί άνθρωποι συνεχίζουν να ζητούν υποστήριξη ART. Το Lollipop έχει πολύ περισσότερες αλλαγές από αυτό, όπως ακόμη πιο αυστηρές πολιτικές SELinux, 64-bit ROM και αλλαγές αρχιτεκτονικής που θα περίμενε κανείς από μια μεγάλη κυκλοφορία. Και φυσικά η ίδια η ΤΕΧΝΗ βελτιώνεται συνεχώς. υπάρχουν μεγάλες διαφορές μεταξύ ART για KitKat και ART για Lollipop.

Ένας λόγος λοιπόν είναι η μεγάλη πολυπλοκότητα, που απαιτούσε πολλές, πάρα πολλές ώρες εργασίας για έρευνα, ανάπτυξη και δοκιμές.

Ένας άλλος λόγος είναι ότι υπάρχουν άλλα πράγματα στη ζωή μου εκτός από το Xposed, οπότε υπήρξαν εβδομάδες ή ακόμα και μήνες που δεν έχω κοιτάξει σχεδόν καθόλου τον κώδικα.

Χρειάζεται να ξαναγράψουμε όλες τις ενότητες;

Όχι, το Xposed API είναι σχεδόν αμετάβλητο. Το Xposed αφαιρεί όλες τις λεπτομέρειες, επομένως οι ενότητες δεν χρειάζεται να ενδιαφέρονται αν εκτελούνται σε Dalvik ή ART. Πολλές μονάδες θα λειτουργούν πραγματικά χωρίς αλλαγές, ειδικά αυτές που τροποποιούν τη συμπεριφορά των εφαρμογών των χρηστών. Οι λειτουργικές μονάδες που στοχεύουν τη συμπεριφορά του συστήματος ενδέχεται να χρειαστεί να προσαρμοστούν στον νέο κώδικα πλαισίου Android, ο οποίος δεν προκαλείται από ART, αλλά απλώς από αλλαγές αρχιτεκτονικής και κώδικα που συμβαίνουν μεταξύ δύο Android εκδόσεις. Το πιο σημαντικό είναι ότι ο κώδικας για τις υπηρεσίες συστήματος έχει μετακινηθεί σε ξεχωριστό αρχείο. Για τις περισσότερες από τις επηρεαζόμενες λειτουργικές μονάδες, αυτό μπορεί να λυθεί με μια μικρή ανακατασκευή (μετακίνηση κώδικα σε διαφορετικό μέρος).

Λειτουργεί πραγματικά;

Ναί! Τουλάχιστον για μένα, λειτουργεί καλά στην καθημερινή μου συσκευή (Nexus 5 σε CM12) και επίσης στο Nexus 9 μου (πληρωμένο από το XDA - ευχαριστώ!). Το τηλέφωνο είναι σταθερό ως συνήθως και οι εφαρμογές λειτουργούν κανονικά. Και προφανώς, οι μονάδες και τα άγκιστρα/αντικαταστάσεις πόρων τους λειτουργούν καλά επίσης, διαφορετικά δεν θα είχε νόημα να κυκλοφορήσει κάτι.

Αλλά τότε γιατί είναι μια άλφα έκδοση;

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

Υπάρχουν επίσης ορισμένες περιπτώσεις άκρων που δεν έχουν δοκιμαστεί ακόμη, όπως οι μέθοδοι αγκίστρωσης JNI (εγγενείς) και μέθοδοι που εκτελούνται τη στιγμή της αγκίστρωσής τους.

Θέλω να το εγκαταστήσω. Τώρα! Τι πρέπει να κάνω?

Βεβαιωθείτε ότι έχετε διαβάσει τα παραπάνω λόγια μου και ότι είστε εξοικειωμένοι με τα εσωτερικά στοιχεία του τηλεφώνου σας. Προφανώς, πρέπει να είστε σε μια Lollipop ROM και να έχετε ένα καλό αντίγραφο ασφαλείας των δεδομένων σας. Προς το παρόν, θα δημοσιεύσω μόνο την έκδοση ARMv7. Τα 64-bit είναι πιο περίπλοκα, οπότε ας δοκιμάσουμε πρώτα την "εύκολη" παραλλαγή.

Προς το παρόν, η εγκατάσταση πρέπει να γίνει χειροκίνητα σε προσαρμοσμένη ανάκτηση. Αναβοσβήνοντας το αρχείο zip θα εγκατασταθεί:

  • app_process32_xposed και ορισμένους συμβολικούς συνδέσμους
  • libexposed_art.so
  • libart.so και ορισμένα σχετικά δυαδικά αρχεία + βιβλιοθήκες (βάσει 5.0.2, βελτιωμένη με υποστήριξη για αγκίστρωση κ.λπ.)
  • XposedBridge.jar (τώρα αποθηκευμένο στο /system/framework)

Τα αντίγραφα ασφαλείας των υπαρχόντων αρχείων θα δημιουργηθούν αυτόματα και θα μπορούν να αποκατασταθούν αργότερα.

Δεν λειτουργεί / δεν μου αρέσει! Πώς μπορώ να το απεγκαταστήσω;

Ο ευκολότερος τρόπος είναι να επαναφέρετε ένα αντίγραφο ασφαλείας ή να αναβοσβήσετε το διαμέρισμα συστήματος. Δεν έχει δημιουργηθεί ακόμη αρχείο zip για απεγκατάσταση.

Γιατί αντικαθιστάτε τα αρχεία ART στη συσκευή μου; Αυτό είναι πιο επεμβατικό από το Dalvik, θα προκαλέσει σημαντικά προβλήματα απόδοσης και θα είναι ασταθές!

Έχω γράψει ορισμένους λόγους GitHub. Ναι, είναι πιο επεμβατικό, επομένως προσπάθησα να το αποφύγω για μεγάλο χρονικό διάστημα, αλλά από τεχνικής άποψης και υποστήριξης, νομίζω ότι είναι η καλύτερη επιλογή.

Λιγότερη απόδοση από το πρωτότυπο ART; Πιθανώς, καθώς έπρεπε να απενεργοποιήσω ορισμένες βελτιστοποιήσεις για να κάνω δυνατά ορισμένα είδη αγκίστρων. Ωστόσο, αυτό επηρεάζει μόνο ένα κλάσμα όλων των μεθόδων και ακόμη και για αυτές, η απώλεια απόδοσης σίγουρα δεν είναι σημαντική ή αισθητή, αν και μετρήσιμη. Υπάρχουν ακόμα χιλιάδες άλλες βελτιστοποιήσεις που εκτελούνται από το ART και προσπάθησα να απενεργοποιήσω όσο το δυνατόν λιγότερες, παρέχοντας παράλληλα όσο το δυνατόν μεγαλύτερη ευελιξία.

Η σταθερότητα είναι μια χαρά όπως αναφέρθηκε παραπάνω. Σε σύγκριση με την προσέγγιση που χρησιμοποίησα για το Dalvik (τροποποίηση των εσωτερικών δομών δεδομένων του χρόνου εκτέλεσης από app_process), είμαι ακόμη πολύ σίγουρος ότι η πλήρης αντικατάσταση των βιβλιοθηκών είναι πολύ πιο αξιόπιστη τρόπος. Θα μπορούσα να ενσωματώσω τις αλλαγές μου στον υπάρχοντα κώδικα καθαρά και να επαναχρησιμοποιήσω σχετικές λειτουργίες, ενώ θα χρειάζονταν πολλά hacks και υποθέσεις για άλλους τρόπους.

Θα δημοσιοποιήσετε επιτέλους τον πηγαίο κώδικα;

Σίγουρα, θα το βρείτε στο GitHub πολύ σύντομα μετά την κυκλοφορία της άλφα έκδοσης, σε ξεχωριστό παράρτημα προς το παρόν.

Αυτό σημαίνει ότι η παλαιότερη έκδοση Android δεν υποστηρίζεται πλέον;

Οχι! Ο νέος κώδικας μεταγλωττίζεται σε όλες τις εκδόσεις 4.x του Android και πρέπει απλώς να δοκιμαστεί πριν από την ενοποιημένη κυκλοφορία. Αλλά πρώτα, πρέπει να βεβαιωθώ ότι λειτουργεί καλά για το Lollipop. Ενδεχομένως, η υποστήριξη ART θα μπορούσε να υποστηριχθεί στο KitKat, αλλά αυτό έχει μικρότερη προτεραιότητα.

Πώς μπορώ να σας ευχαριστήσω για τη δουλειά σας;

Πολλοί άνθρωποι έχουν ζητήσει τρόπους για να δωρίσουν λίγα δολάρια, γι' αυτό δημιούργησα ένα δωρεά σελίδα τώρα.

Πόσα χρήματα πρέπει να δωρίσω για να προσθέσετε το χαρακτηριστικό X ή μια ενότητα που κάνει Y;

Αυτό δεν είναι δωρεά, αυτό πληρώνει κάποιον σε προσδοκία μελλοντικής δουλειάς. Δεν με ενδιαφέρουν δουλειές ελεύθερου επαγγελματία.