Wersja zapoznawcza Androida O Developer Preview ma tajemnicze ustawienie motywu wyświetlania. XDA stwierdziło, że ta struktura tematyczna jest oparta na RRO firmy Sony.
Jeśli jeszcze nie wiesz, podczas wczorajszego wydarzenia I/O firma Google udostępniła drugą wersję Android O Developer Preview (Android O DP2). Już to zrobiliśmy zagłębiliśmy się we wszystko, co nowe, co znaleźliśmy do tej pory, ale była jedna rzecz w DP2, która mnie niepokoiła. Każdy kto otrzymał aktualizację beta lub ręcznie flashował nowe obrazy szybko spotkały się z a radykalnie inny interfejs użytkownika w szybkich ustawieniach. Dlaczego Google zdecydowało się zmienić motyw? Po kilku dalszych testach i kopaniu doszedłem do wniosku. Z jakiegoś powodu Google zdecydowało się to zrobić Temat „odwrócony”. motyw domyślny; być może w czasie, gdy firma była w trakcie testowanie niestandardowego rozwiązania tematycznego opartego na Nakładka zasobów wykonawczych firmy Sony (RRO), nie udało im się uruchomić domyślnego motywu Pixela przed wydaniem Androida O Beta.
Domyślny motyw systemowy w wersji Android O Developer Preview 2
Odkrycie, że framework tematyczny Androida O opiera się na RRO firmy Sony, może wydawać się oczywiste dla niektórych, biorąc pod uwagę, że Google zaimplementowano obsługę RRO w systemie Android 6.0 Marshmallow, chociaż wymagało to posiadania zrootowanego urządzenia. Ponieważ jednak kod źródłowy Androida O nie został udostępniony, czystą spekulacją byłoby sugerowanie, że ten motyw systemowy w Androidzie O to w rzeczywistości RRO. Dlatego nasze pokrycie wstępne tego tajemniczego miejsca, a także relację wykonaną przez inne strony internetowe, nie nawiązał tego połączenia. Istnieje jednak kilka dowodów łączących tę funkcję ze strukturą tematyczną, które naszym zdaniem powinny to niezbicie wykazać Motyw urządzenia z Androidem O jest oparty na RRO. Przy wsparciu RRO na pokładzie może się to zdarzyć w końcu udostępnij rozwiązanie tematyczne dla nierootowanych użytkowników, na które wszyscy czekaliśmy.
Co to jest nakładka zasobów środowiska wykonawczego (RRO)?
RRO to framework tematyczny stworzony przez programistów Sony, który zasilał Motywy Sony Xperia. Piękno RRO polega na tym, że pozwala na wymianę zasobów aplikacji bez konieczności modyfikowania kodu źródłowego aplikacji. Dzieje się to poprzez użycie nakładki, która zawiera własne ciągi zasobów, które są używane do zastępowania zasobów nałożonej aplikacji podczas jej ładowania.
Dla tych z Was, którzy widzą „RRO” i myślą „Warstwy”, jesteście całkiem blisko. Layers to nieco zmodyfikowana wersja RRO firmy Sony, ale na poziomie bazowym działa bardzo podobnie. RRO/Layers „instaluje” motywy APK w katalogu /system/vendor/overlay. Podczas uruchamiania menedżer pakietów czyta te pliki APK, weryfikuje je, a następnie używa idmapa aby połączyć go z tabelą zasobów systemowych. Bardziej szczegółowe odpowiedzi na najczęściej zadawane pytania można znaleźć pod adresem SykoPompos, twórca (obecnie przestarzałego) Menedżer warstw aplikacja.
Zrzuty ekranu przestarzałej aplikacji Menedżer warstw
Rekomendowane lektury: Krótka historia motywów: od motywów OEM po warstwy RRO
Oczywiście niewielu członków społeczności niestandardowych ROM-ów na Androida nadal używa silnika motywów opartego na RRO. Większość przeniosła się do innego silnika tematycznego, takiego jak Podłoże, który jest ewolucją warstw teraz opartą na usłudze Overlay Manager Service (OMS). (Jednak kolejnym popularnym frameworkiem tematycznym był CyanogenMod Theme Engine (CMTE). jego przyszłość wciąż wisi w powietrzu.) Jednak nawet jeśli nie używasz niestandardowej pamięci ROM z zatwierdzeniami OMS, plik Aplikacja silnika motywu podłoża nadal obsługuje możliwość korzystania z motywów „Substratum Legacy”, które są po prostu motywami RRO/Layers. Z tego powodu użytkownicy zaczęli dowiadywać się, że motywy urządzeń z Androidem O i RRO to jedno i to samo.
Google wreszcie wprowadza motywy poprzez RRO
Ponad na sekcja komentarzy w Policja Androida artykuł, Uznany programista XDA Maxr1998 opublikował zrzut ekranu twierdzący, że motywy Substratum Legacy pojawiają się w panelu wyboru motywów urządzenia Google.
Po lewej stronie możesz zobaczyć listę nakładkowych plików APK zainstalowanych przez Maxr1998 na Androidzie O Developer Preview 1. Po prawej stronie możesz zobaczyć dwa motywy do wyboru w Androidzie O Developer Preview 2. Wcześniej w Androidzie O DP1, dwie opcje to „Piksel” i „Odwrócony”, przy czym „Piksel” jest ustawiony jako domyślny, natomiast „Odwrócony” przypomina wygląd i styl skali szarości, który jest domyślny w O DP2.
Ale przyjrzyj się uważnie nazwie domyślnego motywu w O DP2. Nazywa się „android.auto_generated_rro”. Rzeczywiście bardzo dziwna nazwa, ale dodanie do niej słowa „RRO” sprawiło, że w pierwszej chwili uwierzyłem, że jest to rzeczywiście RRO firmy Sony.
Pomyślałem wtedy, jeśli rzeczywiście jest to RRO, gdzie jeszcze mogę to potwierdzić? Te myśli skłoniły mnie do sprawdzenia /system/vendor/overlay i zgodnie z oczekiwaniami rzeczywiście znajdują się w nim dwa pliki APK: framework-res__auto_generated_rro.apk i PixelThemeOverlay.apk.
Obydwa odpowiadają nazwom motywów w ustawieniach wyświetlania. Co ciekawe, po wybraniu motywu Pixel w ustawieniach wyświetlania nie działa. Nie jestem ekspertem w tworzeniu motywów RRO, więc nie mogę powiedzieć, dlaczego motyw Pixel nie działa, chociaż po usunięciu pakietu APK obu aplikacji staje się jasne, że rzeczywiście są to nakładki aplikacje.
Porzucenie PixelThemeOverlay.apk APK
[tabs] [tytuł karty ="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][tytuł zakładki ="strings.xml"]
<resources>
<stringname="pixel_overlay_pixel">Pixelstring>
resources>
[/tab][tytuł zakładki ="kolory.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>
[/patka]
[/karty]
Jeśli przeglądasz nad dokumentacją RRO dostarczone przez Sony, jasne jest, że ma to być motyw RRO. W pliku AndroidManifest linia nakładki wskazuje, że ta nakładka jest przeznaczona dla pliku framework-res.apk („Android”) i ma priorytet „1”, który jest najwyższym priorytetem, jaki można mu nadać.
Z drugiej strony, w pliku framework-res__auto_generated_rro.apk znajduje się podobnie wyglądający plik AndroidManifest.xml, ale istnieje wiele innych ciągów znaków, które nie są powiązane z motywem. Można to jednak łatwo wytłumaczyć faktem, że ten motyw RRO jest w zasadzie uproszczoną wersją framework-res.apk Google Pixel, co moim zdaniem jest prawdą, ponieważ plik \res\values\bools.xml zawiera linię
co wiem z postu na naszym forum jako linię, którą użytkownicy trzeba ustawić w celu włącz obsługę okrągłych ikon w całym systemie.
Wniosek
Mój tester nie był jeszcze w stanie uzyskać dostępu do roota w O DP2, aby spróbować uruchomić motyw Substratum Legacy/RRO, ale biorąc pod uwagę moje własne ustalenia i Maxr1998, mogę śmiało powiedzieć, że Być może Google w końcu przygotuje się do udostępnienia masom motywów RRO.
Oczywiście nie ma gwarancji, że ta funkcja nie zostanie usunięta w jednej z późniejszych wersji Androida O. Możliwe, że Google uzna, że RRO nie działa tak, jak chce, i porzuci tę funkcję. Jednakże biorąc pod uwagę obszerną historię RRO zarówno w rękach Sony, jak i naszej własnej społeczności programistów, wielu z nas jest już zaznajomionych ze wspaniałością, jaką jest nakładka zasobów wykonawczych firmy Sony. A ponieważ dostępnych jest już mnóstwo motywów zgodnych z RRO, jeśli Google kiedykolwiek zdecyduje się pozwolić nam na instalację niestandardowe motywy, otworzą wrota do i tak już szerokiego rynku dostępnych motywów, z których użytkownicy będą mogli korzystać.
Autorzy obrazu fabularnego: SonyDevWorld