Android P blockerar anpassade överlägg (underlagsteman) från att installeras

click fraud protection

Den senaste versionen av Android har släppts (Android 9.0 i form av Android P Developer Preview 1) för Google Pixel, Google Pixel XL, Google Pixel 2 och Google Pixel 2 XL och det blockerar anpassade överlagringar (substratteman) från att vara installerat.

Uppdatering 22:05 CST 3/8/18: En medlem i vår community har lämnat in en funktionsbegäran på Googles officiella Issue Tracker. Detta är den rätta metoden för att få Googles uppmärksamhet, och vi pratade med Substratum-utvecklarna och de kommer också att stödja denna begäran. Vänligen stjärnmärk, men KOMMENTERA INTE denna sida om du stöder begäran.

Den första Android P Developer Preview har varit släpptes idag för Google Pixel, Google Pixel XL, Google Pixel 2 och Google Pixel 2 XL. Det finns en enorm mängd användargränssnitt och livskvalitet förändras vi har dokumenterat här, men det finns en förändring under huven som inte kommer att göra dig lycklig: anpassade överlägg kan inte längre installeras på Android P. Det betyder inget mer rotlöst underlag. Inga fler anpassade teman. Allt är borta.

För er som inte är medvetna om det introducerade Android Oreo Sonys Overlay Manager Service (OMS) som kan styras via ett ADB-kommando. Med hjälp av ett smart knep kunde utvecklarna bakom den populära Substratum-temamotorappen utveckla ett tillägg som heter Andromeda som gör att Substratum kan tillämpa teman utan att behöva root-åtkomst. Det var en otrolig prestation eftersom det var första gången som Googles Android kunde ha ett tema utan att behöva en anpassad ROM eller root för att ersätta systemfiler. Användare kunde använda Andromeda installera ett mörkt tema, ändra emojis i vissa appar, anpassa navigeringsfältets ikoner, låsskärm, senaste appminiatyrer, snabbinställningar, och mycket mer.

Android P implementerar vad vi tror kommer att kallas Materialdesign 2, och det är ljusare än någonsin. Vi är övertygade om att massor av människor kommer att leta efter sätt att tematisera olika aspekter av det.

Om du försöker installera en anpassad överlagring i Android P kommer du dock att mötas av följande meddelande i logcat:

1239 W PackageManager: Package couldn't be installed in /data/app/com.dropbox.android.SwiftDark.Android81NexusorPixel-wb7JxFaAXaHgw7WkZFCvEQ==
03-07 21:00:13.099 1179 1239 WPackageManager: com.android.server.pm.PackageManagerException: Overlaycom.dropbox.android.SwiftDark.Android81NexusorPixelmustbesignedwiththeplatformcertificate.

Detta innebär att endast överlägg som installerats av systemet kommer att tillåtas att köras. Detta är liknande beteende som temamotor på Razer-telefonen, och det är otroligt nedslående att nu se detta hända i Android P.

Jag bekräftade detta beteende på min egen enhet. Innan jag uppdaterade min Google Pixel 2 XL till Android P inaktiverade jag alla Substratum-överlägg för att säkerställa att uppdateringen skulle gå igenom smidigt. När jag uppdaterade märkte jag att alla mina installerade överlägg inte längre visades i "cmd overlay list" kommando. Jag pratade med Substratums ledande utvecklare och bekräftade att andra utsätts för samma beteende. Med andra ord verkar detta vara en avsiktlig förändring av Google.

Användare med root-åtkomst kommer också att drabbas av dessa förändringar, tyvärr. Du kan inte bara "tvinga" att installera en överlagring och förvänta dig att den ska fungera, eftersom plattformscertifikatets oöverensstämmelse fortfarande kommer att vara ett problem. Det är troligt att framework.jar skulle behöva korrigeras för att bli av med detta krav. Anpassade ROM-skivor skulle naturligtvis kunna göra denna typ av förändring, men orootade användare kan inte.

För de betalande kunderna av Andromeda-tillägget för Substratum uppger Substratum-teamet att Andromedas ramverk fortfarande är under arbete så att dina pengar inte har spenderats förgäves. Teamet kommer att försöka få igång en namninsamling i hopp om att samhället ska uttrycka sin starka sida missnöje med detta drag, men i slutändan är beslutet upp till Google om att vända eller inte denna förändring.