Η πιο πρόσφατη έκδοση Android Oreo της Google έχει ήδη ενσωματωμένη υποστήριξη εγγενούς θέματος και χάρη στη μηχανή θεμάτων Substratum έρχεται σε 1 εβδομάδα.
Ενημέρωση 13/09/17: Το πρόσθετο Andromeda για το Substratum, το οποίο επιτρέπει προσαρμοσμένα θέματα σε συσκευές Android Oreo χωρίς ρίζες, έχει πλέον κυκλοφορήσει. Δείτε αυτό το άρθρο για περισσότερες λεπτομέρειες. Το αρχικό άρθρο θα παραμείνει παρακάτω.
Με κάθε νέα έκδοση του λειτουργικού συστήματος Android της Google, υπάρχουν λιγότεροι λόγοι για τους περισσότερους χρήστες root τις συσκευές τους. Ωστόσο, μεταξύ των υπολοίπων χρηστών που εξακολουθούν να επιλέγουν να κάνουν root τις συσκευές τους, ένας από τους πιο συχνά αναφερόμενους λόγους είναι η ενεργοποίηση της υποστήριξης θεμάτων σε όλο το σύστημα. Συνήθως, αυτό γίνεται μέσω του Substratum θεματικό πλαίσιο από τότε που το ατυχής θάνατος του CyanogenMod Theme Engine. Με την πάροδο του χρόνου, το ομάδα πίσω από το Substratum εργάστηκε σκληρά για να συμπεριλάβει υποστήριξη για περισσότερες συσκευές ενσωματώνοντας την υποστήριξη Substratum
σε επίπεδο ROM ώστε να μπορεί να τρέχει χωρίς πρόσβαση root. Και τώρα, η ομάδα έχει πάρει το έργο πέρα από αυτό που θα μπορούσε να φανταστεί οποιοσδήποτε από εμάς πλήρης υποστήριξη θεμάτων σε όλο το σύστημα χωρίς root για οποιαδήποτε συσκευή Android Oreo.Εμφανίζονται στιγμιότυπα οθόνης Μαύρο θέμα Android Oreo της Sai τρέχει σε ένα μη ριζωμένο Google Pixel στο Android Oreo 8.0.0
Για να σας δώσω μια ιδέα για το πώς απίστευτη εξέλιξη αυτή, θεωρήστε ότι πλέον θα είναι δυνατά τα εξής χωρίς ρίζα:
- Η θεματοποίηση του Android Framework και Android System UI, καθώς και οποιεσδήποτε άλλες εφαρμογές συστήματος. (Πολλοί από εσάς πρόκειται να αγάπη έχοντας ένα σκοτεινό θέμα διαθέσιμο, επιτέλους!)
- Θέμα του οποιαδήποτε εφαρμογή τρίτου μέρους
- Προσαρμοσμένες γραμματοσειρές για εφαρμογές τρίτων
- Πολλές άλλες τροποποιήσεις, όπως μια γραμμή κατάστασης στο κέντρο του ρολογιού
Η λίστα συνεχίζεται! Το υπόστρωμα έχει ένα εκτενής λίστα διαθέσιμων θεμάτων που υποστηρίζουν το πλαίσιο (όλα αυτά υποστηρίζονται σε αυτήν την επερχόμενη νέα έκδοση του Substratum για Android 8.0), μια ενεργή κοινότητα Google+ και το δικό μας φόρουμ, και δεδομένης αυτής της εξέλιξης η υποστήριξη είναι βέβαιο ότι θα αυξηθεί!
Android Oreo και υπηρεσία Overlay Manager
Από τότε που ενσωματώθηκε η Google εγγενής υποστήριξη για το Runtime Resource Overlay της Sony Μηχανή θεμάτων (RRO) στο Android 6.0 Marshmallow, περιμέναμε ώστε η Google να παρέχει μια ενσωματωμένη διεπαφή καθώς και δημόσια API που οι προγραμματιστές μπορούν να χρησιμοποιήσουν για να θεματοποιήσουν τόσο τις εφαρμογές πλαισίου συστήματος όσο και τις εφαρμογές τρίτων. Δυστυχώς, η κυκλοφορία του Android Nougat έφερε λίγα νέα στο τραπέζι από τότε που το RRO της Sony προστέθηκε στο Android Open Source Project (AOSP).
Όμως, χάρη στην επιμελή εργασία των μηχανικών της Sony Mobile, η μηχανή θεμάτων RRO εξελίχθηκε τελικά σε αυτό που είναι γνωστό ως Overlay Manager Service (OMS), στο οποίο βασίζεται το Substratum. Η Sony ήταν η πρωτοπόρος σε ό, τι αφορά μια λύση θεμάτων ανοιχτού κώδικα, αλλά δεδομένου ότι η μηχανή θεμάτων OMS της έγινε αποδεκτή στο AOSP γύρω από το ώρα της τελικής έκδοσης Android 7.1, ο μόνος τρόπος για τους χρήστες συσκευών που δεν ανήκουν στη Sony να επωφεληθούν από τη μηχανή θεμάτων είναι μέσω προσαρμοσμένης ROM.
Αυτό άλλαξε στο Android 8.0. Όταν το Substratum κυκλοφόρησε αρχικά για το Οι πρώτες προεπισκοπήσεις προγραμματιστών Android O, οι προγραμματιστές του Substratum το συνειδητοποίησαν πλήρης υποστήριξη για της Sony OMS ήταν διαθέσιμο. Αυτό σημαίνει ότι ένας χρήστης θα μπορούσε να εγκαταστήσει ένα υπάρχον θέμα που υποστηρίζεται από το Substratum και θα λειτουργούσε πλήρως σε συσκευές Android Oreo χωρίς να απαιτούνται ενημερώσεις κώδικα ROM. Ωστόσο, υπήρχε μόνο ένα πρόβλημα: η διαδικασία ενεργοποίησης ενός εγκατεστημένου θέματος Substratum απαιτούσε πρόσβαση root, ή έτσι νόμιζαν.
Υποστήριξη θέματος Substratum χωρίς ρίζες, σε επίπεδο συστήματος για Android Oreo
Ενώ οι προγραμματιστές έβαλαν αθόρυβα τη δουλειά τους στο θέμα να αποκτήσουν οι χρήστες Android Oreo μια λύση θέματος χωρίς root στο πίσω μέρος καυστήρα, ερευνούσαμε ανεξάρτητα σε κάθε προεπισκόπηση προγραμματιστή Android O και βρίσκαμε στοιχεία της μηχανής θεμάτων που παίζει, αν και το αναγνωρίσαμε λάθος καθώς βασίζεται στο παλαιότερο RRO παρά στο νεότερο OMS της Sony. Η Google πείραξε ακόμη και την κοινότητα σχετικά με την υποστήριξη θεμάτων σε ένα AMA με επίκεντρο τον προγραμματιστή στο Reddit, δηλώνοντας ότι υπήρχαν ακόμη κάποια εμπόδια που έπρεπε να ξεπεραστούν προτού ενσωματωθεί μια πλήρης λύση θεμάτων στο Android.
Δεν μείναμε ικανοποιημένοι με αυτήν την απάντηση, θέλαμε να δούμε πόσο μακριά είχε προχωρήσει η Google για την υποστήριξη θεμάτων για το Android Oreo. Για να το κάνω αυτό, έσκαψα τον πηγαίο κώδικα του Android 8.0 μόλις έπεσε η τελική έκδοση και ανακάλυψε το ύπαρξη εντολών φλοιού ADB που θα μπορούσαν να ενεργοποιήσουν ή να απενεργοποιήσουν τις επικαλύψεις, το οποίο κάλυψε χθες ο συγγραφέας του XDA Adam Conway.
Αρχικά, δεν εντυπωσιάστηκα πολύ με το εύρημα, καθώς από όσο γνωρίζω εκείνη την εποχή ήταν λειτουργικά άχρηστο καθώς εγώ και οι συνάδελφοί μου είχαμε την εντύπωση ότι η εγκατάσταση ένα θέμα εξακολουθεί να απαιτεί πρόσβαση root, καθώς τα αρχεία θεμάτων θα πρέπει να μετακινηθούν σε έναν φάκελο που δεν είναι προσβάσιμος στο χώρο χρήστη (στο /system/vendor/overlay, όπως το RRO λειτούργησε). Νίκολας Τσουμ ο ίδιος, ένας από τους κύριους προγραμματιστές πίσω από το Substratum, σχολίασε στην ανάρτησή μας ότι γνώριζε την ύπαρξη αυτών των εντολών για αρκετό καιρό και το χρησιμοποιεί ήδη για εκδόσεις Android O.
Ωστόσο, ένα άτομο είδε μια ευκαιρία αφού δημοσιεύσαμε το άρθρο μας χθες. Το XDA είναι πολύ δικό του Τζεφ Κόρκοραν, ο προγραμματιστής πίσω από την εσωτερική μας εταιρεία Εφαρμογή XDA Labs, συνειδητοποίησε ότι υπήρχε μια πιθανή λύση για να λειτουργήσει η εγγενής διεπαφή γραμμής εντολών του Android Oreo για το OMS χωρίς root. Περιλάμβανε μια μέθοδο που χρησιμοποιήθηκε από Ήλιο, τη δημοφιλή λύση δημιουργίας αντιγράφων ασφαλείας χωρίς ρίζα και πιο πρόσφατα από την εναλλακτική λύση ανοιχτού κώδικα Greenify γνωστή ως Brevent.
Αυξημένα προνόμια μέσα από ένα σενάριο
Συνήθως, το "επικάλυψη cmdΟι εντολές που πρόσθεσε η Google στην έκδοση Oreo μπορούν να εκτελεστούν μόνο είτε μέσω μιας συσκευής με δικαιώματα root είτε μέσω μιας συσκευής συνδεδεμένης σε έναν υπολογιστή που επικαλείται το κέλυφος της Γέφυρας εντοπισμού σφαλμάτων Android (ADB). Μια χούφτα έξυπνων προγραμματιστών, όπως οι προγραμματιστές Helium και Brevent, κατάλαβαν με τα χρόνια πώς να αυξήσετε ουσιαστικά τα προνόμια μιας εφαρμογής που εκτελείται στο τηλέφωνο ώστε να ταιριάζουν με αυτά του ADB κέλυφος. Με αυτόν τον τρόπο, η εφαρμογή μπορεί να στείλει εντολές που συνήθως δεν μπορούσε λόγω περιορισμένων δικαιωμάτων. Στην περίπτωση του Substratum, αυτό σημαίνει η εφαρμογή μπορεί να εγκαταστήσει και στη συνέχεια να ενεργοποιήσει ή να απενεργοποιήσει τα θέματα Substratum χωρίς root.
Αυτή η συνειδητοποίηση ήταν α μείζων ανακάλυψη που ανακαλύφθηκε μόλις χθες το απόγευμα. Μέσα σε λίγες ώρες, ο Nicholas (με τη βοήθεια του Jeff) κατάφερε να δημιουργήσει μια γρήγορη έκδοση άλφα ενός διαχειριστή θεμάτων Substratum χωρίς root για συσκευές Android Oreo. Και λειτουργεί - αλλά με μερικές επιφυλάξεις.
Προειδοποιήσεις για την υποστήριξη υποστρώματος χωρίς ρίζα
Η διαδικασία που απαιτείται για τη χορήγηση αυξημένων προνομίων στο κέλυφος του Substratum ADB θα απαιτεί τη χρήση ενός πολύ απλό και ελαφρύ εφαρμογή επιφάνειας εργασίας (ή απλώς μια εντολή κελύφους ADB, αν γνωρίζετε τι κάνετε). Μόλις χορηγηθεί, το Substratum θα λειτουργήσει όπως θα περιμένατε, καθώς θα είναι σε θέση να διαχειριστεί όλα τα εγκατεστημένα θέματα του Substratum. Οποιαδήποτε θέματα εγκαθιστάτε θα παραμείνουν εγκατεστημένα μέχρι να επιλέξετε να το απεγκαταστήσετε ξανά μέσω του Substratum.
Ωστόσο, τα προνόμια που παραχωρούνται στο Substratum είναι παροδικά, όπως και αυτά χάνονται όταν ο χρήστης εκτελεί πλήρη επανεκκίνηση (αν και ευτυχώς οι μαλακές επανεκκινήσεις της διεπαφής χρήστη του συστήματος δεν χάνουν το προνόμιο). Αυτό σημαίνει ότι θα πρέπει να εκτελέσετε ξανά το πρόγραμμα επιτραπέζιου υπολογιστή εάν έχετε επανεκκινήσει το τηλέφωνό σας και θέλετε να χρησιμοποιήσετε το Substratum για να προσθέσετε, να αφαιρέσετε ή να τροποποιήσετε ένα θέμα. Θέλω να το επαναλάβω ξανά Όλα τα θέματα που εγκαθιστάτε θα παραμείνουν εγκατεστημένα ακόμα και αν κάνετε επανεκκίνηση, οπότε αυτό σημαίνει ότι εάν θέλετε να αλλάζετε μόνο μερικά θέματα περιστασιακά, αυτό θα πρέπει να είναι τέλειο για εσάς. Θα πρέπει επίσης να μπορείτε να αλλάξετε θέματα από το μενού Ρυθμίσεις, όπως το Η επιλογή "Θέμα" του Προεπισκόπηση προγραμματιστή κάτω από τις Ρυθμίσεις οθόνης αναγνωρίζει τα εγκατεστημένα θέματα και σας επιτρέπει να κάνετε εναλλαγή μεταξύ τους
Τέλος, το τελευταίο πράγμα που πρέπει να αναφέρω είναι κάτι που φαίνεται προφανές μόλις το σκεφτείς, αλλά με τον ενθουσιασμό σου όταν ακούς νέα μπορεί να το έχεις ξεχάσει. Η συσκευή σας εξακολουθεί να είναι unrooted. Αυτό σημαίνει ότι δεν μπορείτε να αγγίξετε ή να τροποποιήσετε αρχεία που απαιτούν απολύτως πρόσβαση root για επεξεργασία, ακόμα κι αν το θέμα Substratum που εγκαταστήσατε υποσχέθηκε να αλλάξει κάτι. Λυπούμαστε, αλλά δυστυχώς αυτό σημαίνει ότι δεν μπορείτε να εφαρμόσετε μια αλλαγή γραμματοσειράς σε όλο το σύστημα φέρτε πίσω τα blob emojis, αν και όπως αναφέρθηκε στην αρχή, αυτό είναι είναι δυνατό για ένα θέμα Substratum να αλλάξει τις γραμματοσειρές μεμονωμένων εφαρμογών.
Η αναγκαιότητα του υποστρώματος
Ας αφαιρέσουμε τώρα μια σημαντική λεπτομέρεια. Πότε έρχεται αυτό; Όπως αναφέρει ο τίτλος, η πρώτη δημόσια διαθεσιμότητα του Substratum χωρίς root για συσκευές Android 8.0 όπως το Google Nexus 5X, το Google Nexus 6P, το Google Pixel και το Google Pixel XL θα πρέπει να είναι μέσα σε 1 εβδομάδα. Αυτό είναι όχι εγγύηση με κάθε τρόπο, καθώς τα πράγματα μπορούν να αλλάξουν στη διαδικασία ανάπτυξης που μπορεί να απαιτήσει επιπλέον επένδυση χρόνου, αλλά δεδομένου ότι το OMS είναι ήδη υποστηρίζεται πλήρως στο AOSP, το μόνο που εργάζεται τώρα η ομάδα του Substratum είναι η διασύνδεση μεταξύ της εφαρμογής Substratum και του μη ριζομένου συσκευές.
Επόμενο: θα είναι δωρεάν; Οχι. Το υπόστρωμα για μη ριζωμένες συσκευές Android Oreo θα είναι α πληρωμένη αίτηση. Δεν μπορώ να σας πω πόσο θα κοστίσει καθώς ο Νίκολας δεν έχει αποφασίσει ακόμη για την τιμή, αλλά να είστε βέβαιοι ότι η τιμή θα είναι δίκαιη δεδομένης της αξίας αυτού που θα λάβετε. Μέχρι αυτό το σημείο, το Substratum ήταν δωρεάν για πολλές συσκευές, επομένως σκεφτείτε να υποστηρίξετε αυτού του είδους την ανάπτυξη υποστηρίζοντας πρώτα το Team Substratum. Μπορείτε είτε να περιμένετε να κυκλοφορήσει η Google τελικά αυτό το σκοτεινό θέμα που πάντα θέλατε (χα, καλό ένα), ή μπορείτε να ρίξετε μερικές πένες για να υποστηρίξετε την ανεξάρτητη ανάπτυξη που πολλοί άνθρωποι αναλαμβάνουν χορηγείται.
Δεν έχετε πειστεί ακόμα για την αξία του; Μπορείς δοκιμάστε εγκατάσταση θεμάτων Substratum στη δική σας συσκευή χωρίς ρίζα 8.0. Στην πραγματικότητα, αυτό ακριβώς κάναμε παραπάνω. Φυσικά, είχαμε λίγη βοήθεια από τον Νικόλα για να το κάνουμε. Εάν θέλετε να εγκαταστήσετε ένα υπάρχον θέμα Substratum από το Google Play Store, ακολουθούν τα γενικά βήματα:
- Κατεβάστε και εγκαταστήστε το αρχείο APK στη συσκευή σας.
- Εξαγάγετε τα περιεχόμενα και μεταγλωττίστε κάθε επικάλυψη σε ένα μεμονωμένο αρχείο APK για κάθε εφαρμογή που θέλετε να έχει θέμα
- Εγκαταστήστε κάθε μεμονωμένο αρχείο APK επικάλυψης που έχετε μεταγλωττίσει με μη αυτόματο τρόπο στο βήμα #2
- Για κάθε APK επικάλυψης που εγκαθιστάτε, εκτελέστε την ακόλουθη εντολή για να το ενεργοποιήσετε:
cmd overlay enable
- Εάν θέλετε να αλλάξετε την προτεραιότητα των επικαλύψεων, χρησιμοποιήστε:
cmd overlay set-priority
PARENT|lowest|highest - Καταχωρίστε όλες τις εγκατεστημένες επικαλύψεις με:
cmd overlay list
- Καταργήστε τυχόν επικαλύψεις που δεν θέλετε με:
cmd overlay disable
Εάν θέλετε πραγματικά να χρησιμοποιήσετε τη γραμμή εντολών για τη διαχείριση θεμάτων, γίνετε καλεσμένοι μας! Προσωπικά, είχα κολλήσει να ξεπεράσω το βήμα #2. Το υπόστρωμα δεν χρησιμοποιεί κάποια κρυφή μέθοδο που δεν μπορείτε να βρείτε μόνοι σας, αλλά το καταφέρνει μακριά πιο εύκολο για εσάς να το διαχειριστείτε. Όταν είναι δυνατό να γίνει κάτι με μη αυτόματο τρόπο, αλλά μια εφαρμογή μπορεί να το κάνει για μένα πολύ πιο εύκολα, τείνω απλώς να αφήνω την εφαρμογή να κάνει τη δουλειά της. Αλλά αυτό εξαρτάται από εσάς.
Προσωπικά είμαι πραγματικά, πραγματικά ενθουσιασμένος για να δούμε που πάει αυτό. Για όλες τις συσκευές εκεί έξω που δεν υποστηρίζουν ήδη ενσωματωμένο σύστημα διαχείρισης θεμάτων (όπως οι συσκευές Motorola ή OnePlus), έχετε τώρα έναν άλλο λόγο να περιμένουμε με ανυπομονησία την ενημέρωση Android 8.0. Για όσους από εσάς είναι αρκετά τυχεροί να δοκιμάσετε ήδη αυτό το γλυκό Oreo, έχετε κάτι να περιμένετε σε 1 εβδομάδα.
ΥΣΤΕΡΟΓΡΑΦΟ. Χρήστες Samsung, γνωρίζατε τις συσκευές σας υποστηρίζει ήδη θέματα Substratum χωρίς να χρειάζεται root;
Π.Π.Σ Είστε προγραμματιστής που ενδιαφέρεται να μάθετε περισσότερα για το Substratum; Ρίξτε μια ματιά στο Nicholas καταπληκτική παρουσίαση παρουσίασης εδώ!