Android P是一個令人興奮的版本,因為它對用戶界面和用戶體驗進行了很多更改。多虧了Google在Project Treble上的工作,最新版本的Android不僅可以用于Beta測試,還可以用于Google Pixel和Google Pixel 2設(shè)備以及OnePlus 6,小米Mi Mix 2S,索尼Xperia XZ2以及Essential Telefon和其他手機。但是,Android P中較不令人興奮的更改是阻止操作系統(tǒng)安裝自定義疊加層。疊加層用于修改應(yīng)用程序資源。 Substratum主題管理器使用覆蓋圖使無根的自定義主題在Android Oreo上可用。 Google現(xiàn)在已經(jīng)確認該限制是有意的。這意味著無根系統(tǒng)范圍的自定義設(shè)計不能再用于不再具有主題引擎的智能手機和Google智能手機。
在Google問題跟蹤器中,一位Google員工留下了以下評論,并將問題標記為“無法解決(預(yù)期行為)”:
我們感謝您的反饋,并希望分享一些背景信息和說明。
覆蓋管理器服務(wù)(OMS)供設(shè)備制造商使用。目前,OMS并非旨在作為通用主題功能,而是需要考慮更多設(shè)計注意事項,以維護Android平臺針對用戶的安全性和產(chǎn)品標準。因此,OMS從未被提倡為公共開發(fā)人員功能。
今年早些時候,針對Android Oreo設(shè)備的OEM已發(fā)布了安全補丁(CVE-2017-13263)。為了響應(yīng)Android Oreo中出現(xiàn)的合法安全問題,該補丁將覆蓋程序的安裝限制為預(yù)安裝或系統(tǒng)簽名的應(yīng)用程序。Android P還包含此關(guān)鍵安全補丁,因此它以與Android Oreo相同的方式限制覆蓋。
我們了解自定義主題是某些用戶的一項重要功能。在此領(lǐng)域的任何未來工作中,我們都會考慮您的反饋。
之前我們已經(jīng)討論過疊加管理器服務(wù)(OMS)。索尼的主題框架為Android開源項目做出了貢獻。從Android 8.0 Oreo開始,可以通過ADB訪問與OMS進行交互的命令,這是Substratum 的Andromeda附加組件將無根自定義主題引入Android Oreo的方式。Google意識到社區(qū)正在以一種意想不到的方式使用這些ADB命令(因為ADB命令是供開發(fā)人員調(diào)試的),因此他們實施了一項新檢查,以防止安裝任何非系統(tǒng)覆蓋。
這是令人失望的,但Google最終可以預(yù)見的變化。第三方覆蓋可能會由于與目標應(yīng)用程序之間的資源沖突而輕易破壞,因此Andromeda的主題化方法當(dāng)然不是理想的。我們希望Google為主題開發(fā)人員實現(xiàn)一個API,以使其掛接到應(yīng)用程序中,以免出現(xiàn)持續(xù)損壞的情況。目前,自定義主題不適用于所有Google生產(chǎn)的手機用戶,這是很可惜的。來自Razer,華為,小米和三星等制造商的設(shè)備仍將擁有自己的主題引擎和主題商店,但是對于許多設(shè)備而言,OMS是獲得本機,系統(tǒng)范圍內(nèi)黑暗主題的唯一方法。至少未來的Android P更新可能會為 Pixel Launcher中的部分深色主題帶來手動切換。