Android 9 Pieのtheme(overlay)周りに関するメモ(rooted)
Androidのテーマカラーをいい感じにしたかった時のメモ
はじめに
- 実験機はSony G8342 (Xperia XZ1 Dual) + Phh-Treble AOSP 9.0 + Magisk
- Trebleを使ったほぼAOSP環境
- SonyのXperiaシリーズをはじめ、ベンダーカスタムでテーマ機能を実装している端末もあるが、AOSPの機能の話
- クイック設定パネル周りで特に目立つ機能
- 後は設定アプリのアイコンの色とか、文字とか
- この辺の見た目を変えたい
内部の動き的なやつ
- 色の方(上の画像で言うスライダーの色とか)が、Accent color、背景の方はtheme(正式な呼び方が分からないけど)として、別れている どちらも、overlayとしてアプリになっている
- 適当なAndroidのシェル(adb shellとかTermuxとか)でrootシェルで
cmd overlay list
でデバイスにインストールされているoverlayの一覧が確認できる- 現在適用されているoverlayもここで確認できる
問題点
- Magiskモジュールとして、System-Accent-Theme-Colors-for-P(GitHub)と言う(恐らく)Androidが標準で持っているアクセントカラー選択機能を有効化するものがあるが、デバイスをダークテーマに設定していると、表示が崩れる
- デバイスがライトテーマなら、問題は無い
- このモジュールをインストールして、
cmd overlay list
で確認すると、com.google.android.theme.(色名)
というoverlayが追加されている- これらのoverlayは、Accent Colorしか持ってないので、別途テーマのoverlayが必要
解決
- Pluvius(Google Play)というoverlayを弄ることの出来るアプリを使う
- このアプリもデバイスにoverlayをインストールし、インストールされたoverlayをアプリから切り替えることが出来る
- 但し、Pixelと同じアクセントカラーのoverlayは無かったので、先程のSystem-Accent-Theme-Colors-for-Pと組み合わせて、アクセントカラーは前者の、背景テーマカラーはPluviusのoverlayを使う
- アクセントカラーに
com.google.android.theme.pixel
を、テーマにfancystuff.overlay.systemui.grey900
を適用
参考にしたやつ
Android P Blocks Custom Overlays (Substratum Themes) From Being Installed
[APP] [8.0+] Pluvius - Dynamic OMS Framework… | Android Development and Hacking
メモ
- Android 10からはテーマ変更機能が正式に使えるらしい?
- Pieの時点では、正式な手順ではインストール時に固定されたテーマしか使えないっぽい
- アクセントカラーを変更すると、設定アプリのアイコンの色とかが古いまま残ったりする ランチャーがキャッシュを持っているようなので、ランチャーのストレージを消して強制停止の上で上げ直すと更新される