Najnowsza wersja Google na Androida Oreo ma już wbudowaną obsługę motywów natywnych, a dzięki silnikowi motywów Substratum pojawi się za tydzień.
Aktualizacja 13.09.17: Został wydany dodatek Andromeda dla Substratum, który umożliwia tworzenie niestandardowych motywów na nierootowanych urządzeniach z Androidem Oreo. Więcej szczegółów znajdziesz w tym artykule. Oryginalny artykuł pozostanie poniżej.
Z każdym nowe wydanie systemu operacyjnego Android firmy Google, większość użytkowników nie ma powodów, aby to robić zrootuj swoje urządzenia. Jednak wśród pozostałych użytkowników, którzy nadal decydują się na rootowanie swoich urządzeń, jednym z najczęściej wymienianych powodów jest umożliwienie obsługi motywów w całym systemie. Zazwyczaj zarządza się tym poprzez Substrat ramy tematyczne od czasu niefortunny upadek silnika motywów CyanogenMod. Z czasem zespół odpowiedzialny za Substratum ciężko pracowaliśmy, aby uwzględnić obsługę większej liczby urządzeń, włączając obsługę Substratum na poziomie ROMu
aby mógł działać bez dostępu do roota. A teraz zespół wyniósł projekt poza to, co ktokolwiek z nas mógł sobie wyobrazić pełna obsługa motywów w całym systemie bez rootowania dla dowolnego urządzenia z Androidem Oreo.Pokazano zrzuty ekranu Czarny motyw Sai na Androida Oreo działa na nierootowanym Google Pixel na Androidzie Oreo 8.0.0
Aby dać ci pojęcie, jak to zrobić niesamowity co za rozwój, należy wziąć pod uwagę, że możliwe będzie teraz wykonanie następujących czynności bez roota:
- Tematyka Struktura systemu Android i interfejs użytkownika systemu Android, a także wszelkie inne aplikacje systemowe. (Wielu z was to zrobi Miłość wreszcie dostępny jest ciemny motyw!)
- Tematyka dowolną aplikację strony trzeciej
- Niestandardowe czcionki dla aplikacji innych firm
- Wiele innych modyfikacji, takich jak modyfikacja środkowego zegara na pasku stanu
I tak dalej! Podłoże posiada obszerna lista dostępnych motywów które wspierają ramy (wszystkie są obsługiwane w nadchodzącej nowej wersji Substratum na Androida 8.0), aktywna społeczność na Google+ i nasze własne fora, a biorąc pod uwagę ten rozwój, wsparcie będzie tylko rosło!
Android Oreo i usługa Menedżera nakładek
Od chwili założenia Google natywna obsługa nakładki zasobów wykonawczych firmy Sony (RRO) silnik motywów w systemie Android 6.0 Marshmallow, czekaliśmy dla Google udostępnienie wbudowanego interfejsu, a także publicznych interfejsów API, których programiści mogą używać do tworzenia motywów zarówno aplikacji szkieletowych systemu, jak i aplikacji innych firm. Niestety, wersja Androida Nougat nie wniosła nic nowego, odkąd RRO firmy Sony zostało dodane do projektu Android Open Source Project (AOSP).
Jednak dzięki sumiennej pracy inżynierów z Sony Mobile silnik motywu RRO ostatecznie przekształcił się w tak zwaną usługę Overlay Manager Service (OMS), na której opiera się Substratum. Firma Sony była pionierem w zakresie rozwiązań motywów typu open source, ale ponieważ ich silnik motywów OMS został przyjęty do AOSP około w momencie wydania ostatecznej wersji systemu Android 7.1 użytkownicy urządzeń innych niż Sony mogą korzystać z silnika motywów jedynie za pomocą niestandardowego ROM.
Zmieniło się to w Androidzie 8.0. Kiedy Substratum został pierwotnie wydany dla kilka pierwszych wersji zapoznawczych programistów Androida O, twórcy Substratum zdali sobie z tego sprawę pełne wsparcie dla Sony OMS było dostępne. Oznacza to, że użytkownik może zainstalować istniejący motyw obsługiwany przez Substratum i będzie on w pełni funkcjonalny na urządzeniach z Androidem Oreo bez konieczności stosowania żadnych poprawek ROM. Był jednak tylko jeden problem: proces włączania zainstalowanego motywu Substratum wymagał uprawnień roota, a przynajmniej tak myśleli.
Bez korzeni, ogólnosystemowa obsługa motywów podłoża dla Androida Oreo
Podczas gdy programiści po cichu skupili się na kwestii zapewnienia użytkownikom Androida Oreo w pełni pozbawionego rootowania rozwiązania tematycznego na odwrocie burner, niezależnie zagłębialiśmy się w każdą wersję Androida O Developer Preview i znaleźliśmy dowody na działanie silnika motywów, chociaż błędnie to zidentyfikowaliśmy jako oparty na starszym RRO, a nie na nowszym OMS firmy Sony. Google nawet drażnił społeczność w związku z obsługą motywów w pliku AMA zorientowane na programistów na Reddicie, stwierdzając, że nadal istnieje kilka przeszkód do pokonania, zanim w systemie Android będzie można wbudować pełne rozwiązanie tematyczne.
Niezadowoleni z tej odpowiedzi, chcieliśmy zobaczyć, jak daleko posunął się Google, uzyskując obsługę motywów dla Androida Oreo. Aby to zrobić, pogrzebałem kod źródłowy Androida 8.0 po wydaniu ostatecznej wersji i odkryciu istnienie poleceń powłoki ADB, które mogą włączać lub wyłączać nakładki, o którym wczoraj wspomniał pisarz XDA Adam Conway.
Początkowo nie byłem pod wielkim wrażeniem tego odkrycia, ponieważ według mojej ówczesnej wiedzy było ono funkcjonalnie bezużyteczne, ponieważ ja i moi koledzy mieliśmy wrażenie, że instalacja motyw nadal wymagał uprawnień roota, ponieważ pliki motywu musiałyby zostać przeniesione do folderu niedostępnego dla przestrzeni użytkownika (w /system/vendor/overlay, w ten sposób RRO działał). Mikołaj Chum sam, jeden z głównych programistów Substratum, skomentował nasz post, że wiedział o istnieniu tych poleceń od dłuższego czasu i używał go już w kompilacjach Androida O.
Jednak jedna osoba dostrzegła szansę po tym, jak wczoraj opublikowaliśmy nasz artykuł. XDA jest bardzo własne Jeffa Corcorana, deweloper stojący za naszym wewnętrznym przedsiębiorstwem Aplikacja XDA Labs, zdał sobie sprawę, że istnieje potencjalne obejście, dzięki któremu natywny interfejs wiersza poleceń systemu Android Oreo dla pakietu OMS będzie działał bez rootowania. Polegało to na metodzie stosowanej przez Hel, popularne rozwiązanie do tworzenia kopii zapasowych innych niż root, a ostatnio także alternatywa Greenify o otwartym kodzie źródłowym, znana jako Breventa.
Podwyższone przywileje poprzez skrypt
Zwykle „nakładka cmd" Polecenia dodane przez firmę Google do wersji Oreo można uruchamiać wyłącznie na urządzeniu z uprawnieniami roota lub na urządzeniu podłączonym do komputera wywołującego powłokę Android Debug Bridge (ADB). Na przestrzeni lat zorientowało się to garstka sprytnych programistów, takich jak programiści Helium i Brevent jak zasadniczo podnieść uprawnienia aplikacji działającej na telefonie, aby dopasować je do ADB powłoka. W ten sposób aplikacja może wysyłać polecenia, których zwykle nie mogła wykonać ze względu na ograniczone uprawnienia. W przypadku Substratum to znaczy aplikację można zainstalować, a następnie włączyć lub wyłączyć motywy Substratum bez uprawnień roota.
Ta świadomość była główny przełom, który odkryto dopiero wczoraj wieczorem. W ciągu kilku godzin Nicholasowi (z pomocą Jeffa) udało się stworzyć szybką wersję alfa pozbawionego korzeni menedżera motywów Substratum dla urządzeń z systemem Android Oreo. I to działa – ale z kilkoma zastrzeżeniami.
Zastrzeżenia dotyczące wsparcia podłoża bez korzeni
Proces wymagany do przyznania podwyższonych uprawnień powłoce Substratum ADB będzie wymagał użycia a bardzo proste i lekkie aplikacja komputerowa (lub po prostu polecenie powłoki ADB, jeśli wiesz, co robisz). Po przyznaniu Substratum będzie działać zgodnie z oczekiwaniami, będąc w stanie zarządzać wszystkimi zainstalowanymi motywami Substratum. Wszystkie zainstalowane motywy pozostaną zainstalowane dopóki nie zdecydujesz się ponownie odinstalować go za pośrednictwem Substratum.
Jednakże przywileje przyznane Substratum są przejściowe, ponieważ zostaną utracone, gdy użytkownik wykona pełny restart (chociaż na szczęście miękkie ponowne uruchomienie interfejsu systemowego nie powoduje utraty przywileju). Oznacza to, że będziesz musiał ponownie uruchomić program komputerowy, jeśli ponownie uruchomiłeś telefon i chcesz użyć Substratum do dodania, usunięcia lub zmodyfikowania motywu. Chcę to jeszcze raz powtórzyć wszystkie zainstalowane motywy pozostaną zainstalowane nawet po ponownym uruchomieniu, co oznacza, że jeśli chcesz tylko okazjonalnie zmienić kilka motywów, powinno to być dla Ciebie idealne. Powinieneś także mieć możliwość przełączania motywów w menu Ustawienia, jako Opcja „Motyw” w Developer Preview w obszarze Ustawienia wyświetlania rozpoznaje zainstalowane motywy i umożliwia przełączanie między nimi
Na koniec ostatnia rzecz, o której muszę wspomnieć, to coś, co wydaje się oczywiste, gdy się nad tym zastanowisz, ale w podekscytowaniu wiadomościami mogłeś o tym zapomnieć. Twoje urządzenie nie jest jeszcze zrootowane. Oznacza to, że nie możesz dotykać ani modyfikować żadnych plików, które absolutnie wymagają uprawnień roota do edycji, nawet jeśli zainstalowany motyw Substratum obiecał coś zmienić. Przepraszamy, ale niestety oznacza to, że nie można zastosować zmiany czcionki w całym systemie przywróć emoji kropelek, chociaż jak wspomniałem na początku, to Jest możliwe jest, aby motyw Substratum zmieniał czcionki poszczególnych aplikacji.
Konieczność podłoża
Pomińmy teraz ważny szczegół. Kiedy to nadejdzie? Jak wskazuje tytuł, pierwsza publiczna dostępność pozbawionego korzeni Substratum dla urządzeń z systemem Android 8.0, takich jak Google Nexus 5X, Google Nexus 6P, Google Pixel i Google Pixel XL powinna nastąpić w ciągu 1 tygodnia. Jest to nie gwarancja w jakikolwiek sposób, ponieważ w procesie rozwoju mogą wystąpić zmiany, które mogą wymagać dodatkowej inwestycji czasowej, ale ponieważ OMS już jest w pełni obsługiwane w AOSP, cały zespół Substratum, nad którym teraz pracuje, to interfejs między aplikacją Substratum a nierootowanym urządzenia.
Następny w kolejce: czy będzie darmowy? NIE. Podłoże dla nierootowanych urządzeń z Androidem Oreo będzie plikiem płatna aplikacja. Nie mogę powiedzieć, ile to będzie kosztować, ponieważ Nicholas nie zdecydował jeszcze o cenie, ale możesz być pewien, że cena będzie uczciwa, biorąc pod uwagę wartość tego, co otrzymasz. Do tego momentu Substratum było swobodnie dostępne dla wielu urządzeń, więc rozważ wsparcie tego rodzaju rozwoju, najpierw wspierając Team Substratum. Możesz albo poczekać, aż Google w końcu wypuści ten ciemny motyw, o którym zawsze marzyłeś (ha, dobrze jeden), albo możesz dorzucić kilka groszy i wesprzeć niezależny rozwój, za który wiele osób uważa nadany.
Nadal nie jesteś przekonany o jego wartości? Możesz próbować instalowanie motywów Substratum na własnym, nierootowanym urządzeniu 8.0. W rzeczywistości dokładnie to zrobiliśmy powyżej. Oczywiście w tym celu mieliśmy niewielką pomoc Mikołaja. Jeśli chcesz zainstalować istniejący motyw Substratum ze sklepu Google Play, wykonaj następujące ogólne kroki:
- Pobierz i zainstaluj plik APK na swoim urządzeniu.
- Wyodrębnij zawartość i skompiluj każdą nakładkę w osobnym pliku APK dla każdej aplikacji, której chcesz nadać motyw
- Zainstaluj każdy plik APK nakładki, który ręcznie skompilowałeś w kroku 2
- Dla każdego instalowanego pakietu APK nakładki uruchom następujące polecenie, aby je włączyć:
cmd overlay enable
- Jeśli chcesz zmienić priorytet nakładek użyj:
cmd overlay set-priority
PARENT|lowest|highest - Lista wszystkich zainstalowanych nakładek za pomocą:
cmd overlay list
- Usuń wszelkie nakładki, których nie chcesz, za pomocą:
cmd overlay disable
Jeśli naprawdę chcesz używać wiersza poleceń do zarządzania motywami, zostań naszym gościem! Osobiście utknąłem w kroku nr 2. Substratum nie stosuje jakiejś ukrytej metody, na którą nie da się samemu wymyślić, ale daje radę daleko łatwiej ci zarządzać. Kiedy można zrobić coś ręcznie, ale aplikacja może zrobić to za mnie znacznie łatwiej, zwykle pozwalam aplikacji wykonać swoją pracę. Ale to zależy od ciebie.
Osobiście jestem naprawdę, naprawdę podekscytowany żeby zobaczyć dokąd to zmierza. W przypadku wszystkich urządzeń, które nie obsługują jeszcze wbudowanego systemu zarządzania motywami (takich jak urządzenia Motorola lub OnePlus), masz teraz kolejny powód, na który warto czekać w aktualizacji Androida 8.0. Ci z Was, którzy mają szczęście i już skosztowali tego słodkiego Oreo, mają na co czekać za tydzień.
P.S. Użytkownicy Samsunga, czy znacie swoje urządzenia? obsługują już motywy Substratum bez potrzeby rootowania?
P.P.S Czy jesteś programistą i chcesz dowiedzieć się więcej o Substratum? Sprawdź Nicholasa niesamowita prezentacja pokazu slajdów tutaj!