Google、ついにソニーのRROフレームワーク上に構築されたカスタムテーマを有効にするかもしれない

Android O Developer Preview には謎の表示テーマ設定があります。 XDA は、このテーマのフレームワークは Sony の RRO に基づいていると結論付けています。

まだご存じない方のために付け加えておきますが、Google は昨日の I/O イベント中に 2 番目の Android O Developer Preview (Android O DP2) をリリースしました。 私たちはすでに これまでに発見されたすべての新しいことを深く掘り下げました, しかし、DP2に関して気になることが1つありました。 誰でも ベータアップデートを受信したか、手動でフラッシュされました 新しいイメージはすぐに 根本的に異なるUI クイック設定で。 いったいなぜ Google はテーマを変更することにしたのでしょうか? さらにテストと調査を行った結果、ある結論に達しました。 何らかの理由で、Google は次のことを決定しました。 「反転」のテーマ デフォルトのテーマ。 おそらく会社がその真っ最中に に基づいてカスタム テーマ ソリューションをテストする Sony のランタイム リソース オーバーレイ (RRO)、デフォルトの Pixel テーマを Android O ベータ リリースに間に合わせることができませんでした。

Android O Developer Preview 2 のデフォルトのシステム テーマ

Android O のテーマ フレームワークがソニーの RRO に基づいているという啓示は、Google の Android 6.0 Marshmallow で RRO のサポートを実装しましたただし、root化されたデバイスが必要でした。 ただし、Android O のソース コードは公開されていないため、Android O のこのシステム テーマが実際には RRO であると示唆するのは純粋な推測になります。 だからこそ私たちの 初期補償範囲 この神秘的な設定と取材を紹介します。 他のウェブサイト、この接続は確立されませんでした。 しかし、この機能をテーマのフレームワークに結び付ける証拠がいくつかあり、それが決定的に示されるはずだと私たちは考えています。 Android O のデバイステーマは RRO に基づいています. RRO サポートが搭載されているため、これは可能性があります。 ついに、私たちが待ち望んでいた root 化されていないユーザー向けのテーマ ソリューションを提供します.


ランタイム リソース オーバーレイ (RRO) とは何ですか?

RRO は、ソニーの開発者によって作成されたテーマ フレームワークです。 ソニーのXperiaテーマ. RRO の利点は、アプリケーションのソース コードを変更せずにアプリケーション リソースを置き換えられることです。 これは、アプリケーションのロード中にオーバーレイされたアプリケーションのリソースを置き換えるために使用される独自のリソース文字列を含むオーバーレイを使用することによって行われます。

「RRO」を見て「レイヤーズ」を思い浮かべた人は、かなり近いと思います。 Layers は Sony の RRO をわずかに修正したバージョンですが、基本レベルでは非常によく似ています。 RRO/Layers は、テーマ APK を /system/vendor/overlay に「インストール」します。 起動時に、パッケージ マネージャーはこれらの APK を読み取り、検証してから、 イドマップ をクリックしてシステム リソース テーブルにリンクします。 より詳細な FAQ を読むことができます。 シコポンポス、(現在は非推奨) の開発者 レイヤーマネージャー アプリ。

非推奨のレイヤーマネージャーアプリのスクリーンショット


推奨読書: テーマの簡単な歴史: OEM テーマから RRO レイヤーまで


もちろん、Android カスタム ROM コミュニティでは、まだ RRO ベースのテーマ エンジンを使用している人はほとんどいません。 ほとんどは、次のような別のテーマ エンジンに移行しています。 基材これは、オーバーレイ マネージャー サービス (OMS) に基づいたレイヤーの進化版です。 (CyanogenMod Theme Engine (CMTE) も人気のあるテーマ フレームワークでしたが、 その未来はまだ宙に浮いている.) ただし、OMS コミットでカスタム ROM を使用していない場合でも、 Substratum テーマ エンジン アプリ 単なる RRO/Layers テーマである「Substratum Legacy」テーマを使用する機能も引き続きサポートしています。 このため、ユーザーは Android O のデバイス テーマと RRO が同一のものであることに気づき始めました。


Google がついに RRO を通じてテーマを導入

上に コメントセクション アンドロイド警察 記事、 XDA 認定開発者 Maxr1998 Substratum Legacy テーマが Google のデバイス テーマ セレクターに表示されると主張するスクリーンショットを投稿しました。

左側には、Maxr1998 によって Android O Developer Preview 1 にインストールされたオーバーレイ APK のリストが表示されます。 右側には、Android O Developer Preview 2 の 2 つのテーマの選択肢が表示されます。 以前は Android O DP1 で、2 つのオプションは「ピクセル」と「反転」で、「ピクセル」がデフォルトとして設定され、「反転」は O DP2 のデフォルトであるグレー スケールのルック アンド フィールに似ています。

ただし、O DP2 のデフォルトのテーマの名前をよく見てください。 これは「android.auto_generated_rro」と呼ばれます。 確かに非常に奇妙な名前ですが、名前に「RRO」が含まれていることから、これが確かにソニーのRROであると最初に信じました。

そこで私は、これが本当に RRO である場合、これを裏付けるには他にどこを見ればよいだろうかと考えました。 これらの考えから、/system/vendor/overlay を確認したところ、予想どおり、実際に 2 つの APK ファイルがその中にありました: Framework-res__auto_generated_rro.apk と PixelThemeOverlay.apk。

これらは両方とも、表示設定のテーマの名前と一致します。 不思議なことに、ディスプレイ設定で Pixel テーマを選択すると、機能しません。 私は RRO テーマの開発の専門家ではないので、Pixel テーマが機能しない理由を言うことはできません。 ただし、両方のアプリケーションの APK 分解を実行すると、これらが実際にオーバーレイであることは明らかです。 アプリ。

PixelThemeOverlay.apk APK 分解

[タブ][タブ タイトル ="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][タブ タイトル ="strings.xml"]


<resources>
<stringname="pixel_overlay_pixel">Pixelstring>
resources>

[/tab][タブタイトル="colors.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>

[/タブ]

[/タブ]

流し読みすれば RRO の文書化について Sony によって提供されていることから、これが RRO テーマであることは明らかです。 AndroidManifest ファイルのオーバーレイ行は、このオーバーレイが Framework-res.apk ファイル (「android」) をターゲットにしており、指定できる優先度が最も高い「1」であることを示しています。

一方、framework-res__auto_generated_rro.apk ファイル内には、見た目は似た AndroidManifest.xml ファイルがありますが、テーマに関係のない他の文字列が多数存在します。 しかし、これは、この RRO テーマが基本的に次の要素を取り除いたバージョンであるという事実によって簡単に説明できます。 Google Pixelのframework-res.apk、\res\values\bools.xmlに次の行があるので、これは正しいと思いました true 私たちのフォーラムへの投稿から、ユーザーが次のように言っていることが分かりました。 設定する必要があります するために システム全体で丸いアイコンのサポートを有効にする.


結論

私のテスターは、Substratum Legacy/RRO テーマを実行するために O DP2 でルート アクセスをまだ達成できていませんが、私自身の調査結果と Maxr1998 の調査結果を考慮すると、次のように言えるのは間違いありません。 GoogleはついにRROテーマを大衆に提供する準備をしているかもしれない.

もちろん、この機能が今後の Android O ビルドで削除されないという保証はありません。 Google が RRO が期待どおりに機能していないと判断し、この機能を廃止した可能性があります。 しかし、RRO は Sony と弊社の開発コミュニティの両方の手に渡ってきた長い歴史を考えると、私たちの多くは Sony の Runtime Resource Overlay の素晴らしさをすでによく知っています。 そして、利用可能な RRO 互換テーマがすでに大量にあるため、Google がインストールを許可することにした場合、 カスタム テーマを追加すると、ユーザーが楽しめるテーマのすでに広範な市場に水門が開かれます。


フィーチャー画像のクレジット: SonyDevWorld