Android Oreo въвежда интерфейс на командния ред за теми

Android Oreo включва поддръжка на интерфейс на командния ред за RRO теми, намеквайки, че операционната система се приближава все повече към поддръжката на теми в цялата система.

С пускането на Android Oreo идва много време, прекарано в търсене на скрити екстри в изходния код. В миналото инженерният екип на Android имаше говори за активиране на тематизирането в Android O. Докладвахме през май че втората предварителна версия за разработчици на Android O може да е била намек, че Google поддържа Overlay Manager Service (OMS) и Runtime Resource Overlay (RRO), но сега знаем със сигурност, че е така. Android Oreo сега, технически, поддържа OMS/RRO тематизиране и дори предоставя интерфейс за активиране или деактивиране на теми, при условие че можете да преглътнете използването на командния ред.

Актуализация: Substratum използва тези команди с визуализациите за разработчици и сега с Oreo, откакто са налични!


Какво представляват RRO и OMS?

RRO е разработен вътрешно от Sony за функционалност на темата в линията Sony Xperia. Разработчиците, които разпознаха значението му, работиха за разширяване на поддръжката му към други ROM и с него дойде темата за RRO в множество устройства - не само устройства на Sony. Той гениално замени ресурсите по време на изпълнение на приложението, лекота на използване, невиждана от другите опции за оформяне на теми по това време. Това се превърна в OMS, който също е разработен вътрешно от Sony. Известният

Мениджър на слоеве първоначално е използвал 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, и успяхме да ги активираме/деактивираме също толкова лесно.

auto_generated_rro Тема

Открихме и друга команда, когато копаехме из източника. Командата е следната

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...: невярно

mIsStatic...: невярно

}

Наслагвания по подразбиране: com.google.android.theme.pixel

Кеш на PackageInfo

2 опаковки

Прочетете още

Така че, както може да се види, Google е положил много работа в разработването на тематичния двигател и интегрирането му в източника на AOSP. Изглежда, че ако трябва да се добави за цялата система, темите ще бъдат активирани в тунера на системния потребителски интерфейс. Google също имат предоставя информация за OEM производители, така че е възможно допълнителни производители на оригинално оборудване да активират поддръжка на теми въз основа на версията на AOSP в бъдеще на Android Oreo.

Като цяло, това е много вълнуващо развитие. Тематизирането е една от многото части, които определят Android като напълно адаптивна операционна система на вашия телефон, дори ако в момента изисква root за общосистемни теми. В бъдеще, ако бъде разрешено да работи без root достъп, това ще бъде голяма стъпка в посока на свободата на потребителите. Разбира се, той може да бъде заключен в тунера на системния потребителски интерфейс за доста време (тъй като повредените теми могат да развалят приложенията), но позволява потребителят дори да се възползва от поддръжката на естествена тема на първо място е огромно допълнение към мобилната работа система.