Το Android Oreo περιλαμβάνει υποστήριξη διεπαφής γραμμής εντολών για θέματα RRO, υπονοώντας ότι το λειτουργικό σύστημα ωθεί όλο και πιο κοντά στην υποστήριξη θεμάτων σε όλο το σύστημα.
Με την κυκλοφορία του Android Oreo αφιερώνεται πολύς χρόνος στην αναζήτηση κρυμμένων καλούδια στον πηγαίο κώδικα. Στο παρελθόν, η ομάδα μηχανικών Android είχε μίλησε για την ενεργοποίηση θεμάτων στο Android O. Αναφέραμε τον Μάιο ότι η δεύτερη Προεπισκόπηση προγραμματιστή του Android O μπορεί να ήταν μια υπόδειξη ότι η Google υποστηρίζει την υπηρεσία Overlay Manager (OMS) και την επικάλυψη πόρων χρόνου εκτέλεσης (RRO), αλλά τώρα γνωρίζουμε με βεβαιότητα ότι ήταν. Android Oreo τώρα, τεχνικά, υποστηρίζει το θέμα OMS/RRO και παρέχει ακόμη και μια διεπαφή για την ενεργοποίηση ή την απενεργοποίηση θεμάτων, με την προϋπόθεση ότι μπορείτε να χρησιμοποιήσετε τη γραμμή εντολών.
Ενημέρωση: Το Substratum χρησιμοποιεί αυτές τις εντολές με τις προεπισκοπήσεις του dev και τώρα με το Oreo από τότε που ήταν διαθέσιμες!
Τι είναι το RRO και το OMS;
Το RRO αναπτύχθηκε εσωτερικά από τη Sony για λειτουργικότητα θέματος στη σειρά Sony Xperia. Οι προγραμματιστές που αναγνώρισαν τη σημασία του εργάστηκαν για να επεκτείνουν την υποστήριξή του σε άλλες ROM, και μαζί του ήρθε το θέμα RRO σε πολλές συσκευές - όχι μόνο συσκευές Sony. Αντικατέστησε έξυπνα τους πόρους κατά το χρόνο εκτέλεσης της εφαρμογής, μια ευκολία χρήσης που δεν είχε δει από άλλες επιλογές θεμάτων εκείνη τη στιγμή. Αυτό έχει εξελιχθεί σε OMS, το οποίο επίσης αναπτύχθηκε εσωτερικά από τη Sony. Ο διάσημος Layers Manager χρησιμοποίησε αρχικά το θέμα RRO, αλλά το OMS προσαρμόστηκε αργότερα σε αυτό που τώρα είναι γνωστό ως Substratum και είναι το πλαίσιο θεμάτων που είναι πιο οικείο στους χρήστες στα φόρουμ μας τώρα. Οι ROM στα φόρουμ μας με δεσμεύσεις OMS σημαίνουν ότι υποστηρίζουν την τυπική μηχανή θεματοποίησης του Substratum. Η "λειτουργία παλαιού τύπου" στο Substratum χρησιμοποιεί θέμα RRO.
Το Android Oreo παρουσιάζει εντολές θέματος
Φαίνεται ότι η Google επιθυμεί τώρα να υποστηρίξει πλήρως αυτόν τον τύπο θέματος στο AOSP, πιθανώς να κινηθεί προς μια πλήρη διαχείριση θεμάτων που υποστηρίζεται από το σύστημα. Στο Android Gerrit, η Google έκανε μια σειρά από αλλαγές τους τελευταίους μήνες (και με το Android Oreo) που προτείνουν κινήσεις για την ενεργοποίηση της μηχανής θεμάτων σε όλο το σύστημα. Οι αλλαγές είναι παρακάτω, με συνδέσμους προς τις αντίστοιχες δεσμεύσεις τους.
- Εντολές επικάλυψης
- Παρουσιάστηκε το OverlayManagerService (OMS).
- Μια νέα άδεια με τίτλο CHANGE_OVERLAY_PACKAGES
Όλες αυτές οι αλλαγές υποδηλώνουν μια κίνηση από την Google προς κάποια μορφή εφαρμογής θεμάτων συστήματος που θα συμπεριληφθεί στο μέλλον. Η άδεια που παρατίθεται παραπάνω απαιτεί δικαιώματα συστήματος και επομένως σημαίνει ότι μόνο μια εφαρμογή συστήματος (ή μια εφαρμογή με πρόσβαση root) μπορεί να επικαλεστεί αυτήν την άδεια. Ωστόσο, είναι ενδιαφέρον, καθώς δείχνει ότι η Google εργάζεται επιτέλους κάτι.
Γιατί λοιπόν μόνο τεχνικά το Android Oreo υποστηρίζει τη δημιουργία θεμάτων; Λοιπόν, η απλή απάντηση είναι ότι ενώ μπορείτε να επικαλεστείτε τη μέθοδο συστήματος εγκατάστασης θεμάτων, να το κάνετε αυτό θα αποδεικνυόταν μάλλον άσκοπο. Αυτό συμβαίνει επειδή, παρόλο που μπορείτε να χρησιμοποιήσετε τη νέα διεπαφή γραμμής εντολών για τη διαχείριση εγκατεστημένων θεμάτων, δεν μπορείτε στην πραγματικότητα εγκαταστήστε νέα θέματα χωρίς πρόσβαση root επειδή τα θέματα πρέπει να μεταβούν σε έναν κατάλογο που είναι περιορισμένος από τον χρήστη χώρος. Με την πρόσβαση root μπορείτε απλά να ενεργοποιήσετε ένα θέμα Substratum ούτως ή άλλως, επομένως δεν χρειάζεται να το κάνετε με τον νέο τρόπο. Η Google δεν έχει συμπεριλάβει μια εφαρμογή συστήματος για το θέμα της συσκευής, επομένως μέχρι τότε δεν υπάρχει κανένα όφελος από την προσπάθεια να το κάνετε με τον νέο τρόπο που συμπεριλήφθηκε.
Η διεπαφή θεματικής γραμμής εντολών
Εμείς στο XDA δοκιμάσαμε την εντολή σε ένα Google Pixel που εκτελεί την έκδοση Android Oreo. Αποφασίσαμε να δοκιμάσουμε μερικές από τις εντολές και χρησιμοποιήσαμε αρχικά
cmd overlays list
για να δείτε όλες τις προεγκατεστημένες επικαλύψεις. Παρατηρήσαμε την ύπαρξη ενός "com.google.android.theme.pixel", απενεργοποιώντας το και αντί αυτού ενεργοποιώντας το "android.auto_generated_rro__" εκτελώντας τις ακόλουθες εντολές.
Όπως φαίνεται εδώ, η τυπική επικάλυψη είναι απενεργοποιημένη και η αυτόματη δημιουργία είναι ενεργοποιημένη. Εκτελώντας την εντολή μας για να προβάλουμε ξανά τις εγκατεστημένες επικαλύψεις, βλέπουμε την ακόλουθη έξοδο.
Αυτό έχει ως αποτέλεσμα μια εφαρμογή ρυθμίσεων συστήματος Android με νέο θέμα στο Google Pixel μας. Σημειώστε ότι η παραπάνω λίστα επικάλυψης περιλαμβάνει επίσης θέματα που έχουν εγκατασταθεί χρησιμοποιώντας το Substratum και μπορέσαμε να τα ενεργοποιήσουμε/απενεργοποιήσουμε εξίσου εύκολα.
Βρήκαμε επίσης μια άλλη εντολή όταν σκάβουμε την πηγή. Η εντολή είναι η εξής
cmd overlay dump --user 0
μας δίνει την ακόλουθη έξοδο.
Παραγωγή
Ρυθμίσεις
android.auto_generated_rro__: 0 {
mPackageName...: android.auto_generated_rro__
mUserId...: 0
mTargetPackageName.: android
mBaseCodePath...: /vendor/overlay/framework-res__auto_generated_rro.apk
mState...: STATE_ENABLED
mIsEnabled...: αληθές
mIsStatic...: αλήθεια
}
com.google.android.theme.pixel: 0 {
mPackageName...: com.google.android.theme.pixel
mUserId...: 0
mTargetPackageName.: android
mBaseCodePath...: /vendor/overlay/Pixel/PixelThemeOverlay.apk
mState...: STATE_DISABLED
mIsEnabled...: false
mIsStatic...: ψευδής
}
Προεπιλεγμένες επικαλύψεις: com.google.android.theme.pixel
Προσωρινή μνήμη PackageInfo
2 πακέτα(α)
Διαβάστε περισσότερα
Έτσι, όπως φαίνεται, η Google έχει κάνει πολλή δουλειά στην ανάπτυξη του μηχανισμού θεμάτων και στην ενσωμάτωσή του στην πηγή AOSP. Φαίνεται ότι αν επρόκειτο να προστεθεί σε όλο το σύστημα, Τα θέματα θα είναι ενεργοποιημένα στον δέκτη διεπαφής χρήστη συστήματος. Η Google έχει επίσης παρείχε πληροφορίες για ΚΑΕ, επομένως είναι πιθανό πρόσθετοι OEM να ενεργοποιήσουν την υποστήριξη θεμάτων με βάση την έκδοση AOSP στο μέλλον στο Android Oreo.
Συνολικά, αυτή είναι μια πολύ συναρπαστική εξέλιξη. Το Theming είναι ένα από τα πολλά μέρη που ορίζουν το Android ως ένα πλήρως προσαρμόσιμο λειτουργικό σύστημα στο τηλέφωνό σας, ακόμα κι αν αυτή τη στιγμή απαιτεί root για θέματα σε όλο το σύστημα. Στο μέλλον, εάν επιτρεπόταν να λειτουργεί χωρίς πρόσβαση root, θα ήταν ένα σημαντικό βήμα προς την κατεύθυνση της ελευθερίας των χρηστών. Φυσικά, μπορεί να είναι κλειδωμένο στον δέκτη διεπαφής χρήστη συστήματος για αρκετό καιρό (καθώς τα σπασμένα θέματα μπορούν να σπάσουν εφαρμογές) αλλά επιτρέποντας Το να εκμεταλλευτεί ο χρήστης ακόμη και την υποστήριξη εγγενών θεμάτων στην πρώτη θέση είναι μια τεράστια προσθήκη στη λειτουργία κινητής τηλεφωνίας Σύστημα.