Η Google μπορεί επιτέλους να ενεργοποιήσει τα προσαρμοσμένα θέματα που έχουν δημιουργηθεί στο πλαίσιο RRO της Sony

click fraud protection

Η προεπισκόπηση προγραμματιστή Android O έχει μια μυστηριώδη ρύθμιση θέματος οθόνης. Το XDA κατέληξε στο συμπέρασμα ότι αυτό το πλαίσιο θεμάτων βασίζεται στο RRO της Sony.

Σε περίπτωση που δεν το γνωρίζετε ήδη, η Google κυκλοφόρησε τη δεύτερη προεπισκόπηση προγραμματιστή Android O (Android O DP2) κατά τη χθεσινή εκδήλωση I/O. Έχουμε ήδη κάναμε μια βαθιά βουτιά σε οτιδήποτε νέο έχουμε βρει μέχρι τώρα, αλλά υπήρχε ένα πράγμα για το DP2 που με ενοχλούσε. Όλοι όσοι έλαβε την ενημέρωση beta ή αναβοσβήνει χειροκίνητα οι νέες εικόνες αντιμετωπίστηκαν γρήγορα με α ριζικά διαφορετικό περιβάλλον εργασίας χρήστη σε γρήγορες ρυθμίσεις. Γιατί τελικά η Google αποφάσισε να αλλάξει το θέμα; Μετά από μερικές ακόμη δοκιμές και σκάψιμο, κατέληξα σε ένα συμπέρασμα. Για οποιονδήποτε λόγο, η Google αποφάσισε να το κάνει "Αντεστραμμένο" θέμα το προεπιλεγμένο θέμα. ίσως ενώ η παρέα βρισκόταν στη μέση του δοκιμάζοντας μια προσαρμοσμένη λύση θεμάτων που βασίζεται σε Επικάλυψη πόρων χρόνου εκτέλεσης της Sony (RRO), δεν μπόρεσαν να δουλέψουν εγκαίρως το προεπιλεγμένο θέμα Pixel για την έκδοση Android O Beta.

Προεπιλεγμένο θέμα συστήματος στην προεπισκόπηση προγραμματιστή Android O 2

Η αποκάλυψη ότι το πλαίσιο θεμάτων του Android O βασίζεται στο RRO της Sony μπορεί να φαίνεται προφανής σε ορισμένους, δεδομένου ότι η Google υλοποίησε υποστήριξη για RRO στο Android 6.0 Marshmallow, αν και απαιτούσε να έχετε μια συσκευή με root. Ωστόσο, δεδομένου ότι ο πηγαίος κώδικας για το Android O δεν έχει κυκλοφορήσει, θα ήταν σκέτη εικασία να υποδηλωθεί ότι αυτό το θέμα συστήματος στο Android O είναι στην πραγματικότητα RRO. Γι' αυτό το λόγο μας αρχική κάλυψη αυτού του μυστηριώδους σκηνικού, καθώς και η κάλυψη που έγινε από άλλες ιστοσελίδες, δεν έκανε αυτή τη σύνδεση. Αλλά υπάρχουν πολλά στοιχεία που συνδέουν αυτό το χαρακτηριστικό με το πλαίσιο θεμάτων που πιστεύουμε ότι πρέπει να το δείξουν οριστικά Το θέμα συσκευής του Android O βασίζεται στο RRO. Με την υποστήριξη RRO επί του σκάφους, αυτό μπορεί επιτέλους παρέχουμε τη λύση θεματικής για μη ριζωμένους χρήστες που όλοι περιμέναμε.


Τι είναι η επικάλυψη πόρων χρόνου εκτέλεσης (RRO);

Το RRO είναι ένα πλαίσιο θεμάτων που δημιουργήθηκε από προγραμματιστές της Sony που τροφοδοτούνταν Θέματα Xperia της Sony. Η ομορφιά του RRO είναι ότι σας επιτρέπει να αντικαταστήσετε τους πόρους της εφαρμογής χωρίς να χρειάζεται να τροποποιήσετε τον πηγαίο κώδικα της εφαρμογής. Αυτό συμβαίνει μέσω της χρήσης μιας επικάλυψης, η οποία περιέχει τις δικές της συμβολοσειρές πόρων που χρησιμοποιούνται για την αντικατάσταση των πόρων της επικαλυμμένης εφαρμογής κατά τη φόρτωση της εφαρμογής.

Για όσους από εσάς βλέπετε "RRO" και σκέφτεστε "Στρώματα", είστε αρκετά κοντά. Το Layers είναι μια ελαφρώς τροποποιημένη έκδοση του RRO της Sony, αλλά στο βασικό επίπεδο λειτουργεί πολύ παρόμοια. Το RRO/Layers "εγκαθιστά" τα APK θεμάτων στο /system/vendor/overlay. Κατά την εκκίνηση, ο διαχειριστής πακέτων διαβάζει αυτά τα APK, τα επαληθεύει και μετά τα χρησιμοποιεί idmap για να το συνδέσετε στον πίνακα πόρων του συστήματος. Μπορείτε να διαβάσετε ένα πιο εμπεριστατωμένο FAQ από ΣυκοΠόμπος, ο προγραμματιστής του (που έχει πλέον καταργηθεί) Layers Manager εφαρμογή.

Στιγμιότυπα οθόνης της εφαρμογής Deprecated Layers Manager


Προτεινόμενη ανάγνωση: Μια σύντομη ιστορία του θέματος: Από τα θέματα OEM στα επίπεδα RRO


Φυσικά, λίγοι στην κοινότητα προσαρμοσμένης ROM Android εξακολουθούν να χρησιμοποιούν μηχανή θεμάτων που βασίζεται σε RRO. Οι περισσότεροι έχουν προχωρήσει σε άλλη μηχανή θεματοποίησης όπως π.χ Υπόστρωμα, το οποίο είναι μια εξέλιξη των επιπέδων που βασίζεται πλέον στην υπηρεσία Overlay Manager Service (OMS). (Το CyanogenMod Theme Engine (CMTE) ήταν ένα άλλο δημοφιλές πλαίσιο θεμάτων, ωστόσο το μέλλον του είναι ακόμα στον αέρα.) Ωστόσο, ακόμα κι αν δεν χρησιμοποιείτε προσαρμοσμένη ROM με δεσμεύσεις OMS, το Εφαρμογή μηχανής με θέμα το υπόστρωμα εξακολουθεί να υποστηρίζει τη δυνατότητα χρήσης θεμάτων "Substratum Legacy" που είναι απλώς θέματα RRO/Layers. Και εξαιτίας αυτού, οι χρήστες άρχισαν να καταλαβαίνουν ότι τα θέματα της συσκευής και το RRO του Android O είναι ένα και το αυτό.


Η Google παρουσιάζει επιτέλους το Theming Through RRO

Πάνω στο ενότητα σχολίων του an AndroidPolice άρθρο, Αναγνωρισμένος προγραμματιστής XDA Maxr1998 δημοσίευσε ένα στιγμιότυπο οθόνης υποστηρίζοντας ότι τα θέματα Substratum Legacy εμφανίζονται στον επιλογέα θεμάτων συσκευών της Google.

Στα αριστερά, μπορείτε να δείτε μια λίστα με APK επικάλυψης που έχουν εγκατασταθεί από το Maxr1998 στο Android O Developer Preview 1. Στα δεξιά, μπορείτε να δείτε τις δύο επιλογές θεμάτων στο Android O Developer Preview 2. Παλαιότερα στο Android O DP1, οι δύο επιλογές ήταν "Pixel" και "Inverted" με το "Pixel" να έχει οριστεί ως προεπιλογή ενώ το "Inverted" μοιάζει με την εμφάνιση και την αίσθηση της κλίμακας του γκρι που είναι η προεπιλογή στο O DP2.

Αλλά ρίξτε μια προσεκτική ματιά στο όνομα του προεπιλεγμένου θέματος στο O DP2. Ονομάζεται "android.auto_generated_rro." Πράγματι ένα πολύ περίεργο όνομα, αλλά η συμπερίληψη του "RRO" στο όνομα είναι αυτό που με οδήγησε να πιστέψω πρώτα ότι αυτό είναι όντως το RRO της Sony.

Τότε σκέφτηκα, αν αυτό είναι όντως RRO, πού αλλού μπορώ να ψάξω για να το επιβεβαιώσω; Αυτές οι σκέψεις με οδήγησαν να ελέγξω το /system/vendor/overlay και, όπως ήταν αναμενόμενο, υπάρχουν πράγματι δύο αρχεία APK που βρίσκονται εντός: Framework-res__auto_generated_rro.apk και PixelThemeOverlay.apk.

Και τα δύο ταιριάζουν με τα ονόματα των θεμάτων στις ρυθμίσεις οθόνης. Περιέργως, όταν επιλέγετε το θέμα Pixel στις ρυθμίσεις οθόνης, δεν λειτουργεί. Δεν είμαι ειδικός στην ανάπτυξη θεμάτων RRO, επομένως δεν μπορώ να πω γιατί το θέμα Pixel δεν λειτουργεί, αν και με την εκτέλεση μιας αποκοπής APK και των δύο εφαρμογών είναι σαφές ότι πρόκειται πράγματι για επικάλυψη εφαρμογές.

PixelThemeOverlay.apk APK Teardown

[καρτέλες][Τίτλος καρτέλας ="AndroidManifest.xml"]


package="com.google.android.theme.pixel" platformBuildVersionCode="25" platformBuildVersionName="O">
<overlayandroid: priority="1"android: targetPackage="android"/>
<applicationandroid: hasCode="false"android: label="@string/pixel_overlay_pixel"/>
manifest>

[/tab][Τίτλος καρτέλας ="strings.xml"]


<resources>
<stringname="pixel_overlay_pixel">Pixelstring>
resources>

[/tab][τίτλος καρτέλας ="colors.xml"]


<resources>
<colorname="user_icon_1">#ff5e97f6color>
<colorname="user_icon_2">#ff5c6bc0color>
<colorname="user_icon_3">#ff26a69acolor>
<colorname="user_icon_4">#ffec407acolor>
<colorname="user_icon_5">#ff33ac71color>
<colorname="user_icon_6">#ff8bc34acolor>
<colorname="user_icon_7">#ffff9800color>
<colorname="user_icon_8">#ffff7043color>
<colorname="system_error">#ffea4335color>
<colorname="primary_device_default_dark">#ff2d2d2dcolor>
<colorname="primary_device_default_settings">#ff2d2d2dcolor>
<colorname="primary_dark_device_default_dark">#ff242424color>
<colorname="primary_dark_device_default_settings">#ff242424color>
<colorname="secondary_device_default_settings">#ff3a3a3acolor>
<colorname="tertiary_device_default_settings">#ff616161color>
<colorname="quaternary_device_default_settings">#ff9e9e9ecolor>
<colorname="accent_device_default_700">#ff3367d6color>
<colorname="accent_device_default_light">#ff4285f4color>
<colorname="accent_device_default_dark">#ff5e97f6color>
<colorname="accent_device_default_50">#ffe8f0fecolor>
resources>

[/αυτί]

[/tabs]

Αν ξαφρίσετε πάνω από την τεκμηρίωση της RRO που παρέχεται από τη Sony, είναι σαφές ότι αυτό υποτίθεται ότι είναι ένα θέμα RRO. Στο αρχείο AndroidManifest, η γραμμή επικάλυψης υποδεικνύει ότι αυτή η επικάλυψη στοχεύει το αρχείο Framework-res.apk ("android") και έχει προτεραιότητα "1" που είναι η υψηλότερη προτεραιότητα που μπορεί να του δοθεί.

Από την άλλη πλευρά, μέσα στο αρχείο Framework-res__auto_generated_rro.apk υπάρχει ένα αρχείο AndroidManifest.xml με παρόμοια εμφάνιση, αλλά υπάρχουν πολλές άλλες συμβολοσειρές που δεν σχετίζονται με το θέμα. Αλλά αυτό εξηγείται εύκολα από το γεγονός ότι αυτό το θέμα RRO είναι βασικά μια απογυμνωμένη έκδοση του το πλαίσιο-res.apk του Google Pixel, το οποίο κατάλαβα ότι είναι αληθές αφού το \res\values\bools.xml έχει τη γραμμή true που γνωρίζω από μια ανάρτηση στο φόρουμ μας ότι είναι μια γραμμή που οι χρήστες πρέπει να ρυθμίσετε ώστε να ενεργοποιήστε την υποστήριξη Round Icon σε όλο το σύστημα.


συμπέρασμα

Ο δοκιμαστής μου δεν κατάφερε ακόμη να επιτύχει πρόσβαση root στο O DP2 για να δοκιμάσει να εκτελέσει ένα θέμα Substratum Legacy/RRO, αλλά δεδομένων των δικών μου ευρημάτων και του Maxr1998, είναι ασφαλές να πούμε ότι Η Google μπορεί τελικά να ετοιμάζεται να φέρει το θέμα RRO στις μάζες.

Φυσικά, δεν υπάρχει καμία εγγύηση ότι αυτή η δυνατότητα δεν θα αφαιρεθεί σε κάποια από τις μεταγενέστερες εκδόσεις Android O. Είναι πιθανό η Google να αποφασίσει ότι το RRO δεν λειτουργεί όπως θέλει και να απορρίψει τη λειτουργία. Ωστόσο, δεδομένης της εκτεταμένης ιστορίας του RRO τόσο στα χέρια της Sony όσο και της δικής μας κοινότητας ανάπτυξης, πολλοί από εμάς γνωρίζουμε ήδη το μεγαλείο που είναι το Runtime Resource Overlay της Sony. Και δεδομένου ότι υπάρχουν ήδη πολλά διαθέσιμα θέματα συμβατά με RRO, εάν η Google αποφασίσει ποτέ να μας επιτρέψει την εγκατάσταση προσαρμοσμένα θέματα, θα ανοίξουν τις πύλες σε μια ήδη ευρεία αγορά διαθέσιμων θεμάτων για να απολαύσουν οι χρήστες.


Πιστώσεις χαρακτηριστικών εικόνων: SonyDevWorld