framework-resのカスタムは非常に楽しいけど素材集めとか大変ですよね。デザインはいいけど色がねぇ…とか。
今回考察するのはPCのブラウザ上でframework-resのファイルをカスタムできる、例えばバッテリーアイコンのデザイン、残量に応じた色の変化、起動アニメーション、ステータスバーのアイコンなどをいろいろ組み合わせて自分だけのオリジナルデザインが作れてしまう(正確には「各種既存アイコンのア・ラ・カルト(詰め合わせw)」ですが)非常に有用なツール、「UOT Kitchen」です。
(対応AndroidOSは2.2と2.3ですが、生成された画像を抜き出して2.1のframework-resに手動で差し替えれば使えるはずです)
※変更できる範囲はテーマファイルのように多岐に渡るわけではありません。主にステータスバー関連、起動アニメ、メニューなど画面変遷に関する動作(アニメーション)です。電話帳や「田」>設定などには反映されません。
#systemUI.apkを変更するともう少し範囲広がるはずですがどこまでか分からない。。。
◆準備するもの
- PC(自分はWindowsなので考察のベースはWindowsですが、ブラウザアプリなのでMacでも動くかも)
- 変更する元となるframework-resファイル
(今回はCM6.1.3 v4.5.7に入れ直した直後なので、そのファイルを抜き出して加工してみたいと思います) - Dropboxとかあると便利。
【framework-resの抜き方:Dropboxの場合】 RootExploreにて- ファイルのパスは
systemframeworkframework-res.apk
- ファイルを長押ししてSend>Dropbox>任意の場所>Send to this folderをタップ
- PCからDropboxのフォルダにframework-resファイルがコピーされているのを確認。
◆利用方法
- UOT Kitchenサイトにアクセス、Kitchenをクリック。 (http://uot.dakra.lt/) *ちょっと重いかも…
- File uploadタブ>or upload your own filesよりXperiaよりPCのにコピーしたframework-resを選択
デフォルトで選択できる一覧にはXperiaでそのまま使えそうなのは無く…
- ファイルのコピーが終わったらCompleteとなるので、Summaryタブをクリックし画像のようになっているか確認。ここから各タブにあるバッテリーや各種アイコンをア・ラ・カルトで選択していきます。
- 最初にBatteryをやってみます。Batteryタブをクリックすると「Use this mod」とあるのでチェックを入れると2枚目の画像のようにバッテリーアイコン、色、バッテリー容量低下時に色を変えるかなどなど、変更できます。右側の「Generate preview」をクリックするとチョイスした内容が表示されます。変更するたびにpreviewをクリックして確認しながら進めましょう。
面倒な人は「SCB with %」をクリックし、サンプルから選びます。
- 同じようにicon、Window animation、Bootanimation等々を好きなようにプレビューしながら決めていってください。
細かい画像を1つだけ変更したいというのも可能です。(プレビュー表示部分のselect/unselect)
設定しない項目は飛ばしても問題ありません。(一度設定しても「Use this mod」のチェック外せばOK)
(Status barだけは次項で)
- Status bar
CM6.1.3や個別にCMsettingとか入れてる場合、HeaderをCyanogenにしておかないと通知アイコンが置けなくなりますのでご注意下さい。
- 一通り変更したら「Summary」タブへ戻り、左側が全て緑色もしくは白色(変更なし)になってるのを確認。もし赤い部分があれば何かの設定に失敗してるので再度確認し緑色になったら、最下段の「Submit work to kichen」をクリック。
- ファイルが生成されます。(1~2分ほど)生成が終わると「Your File is ready」と出たところのdownloadをクリック。
- ファイルがDLされたら念のため中身を見てみましょう。ファイルの構造はこんな感じ。
ファイル名はUOT-**-**-**-**-*.zip(*は数字)
そのままxRecoveryで適用できそうです。そのままSDカードへコピー。
xperiaはとはbootanimation.zipのファイルの構造が違うのですが、CM6.1.3環境ではUOT**~のまま適用してちゃんと変更されました。
他のROMだと下記構造にしないとダメかもです。(7-zipによる修正)
(Xperiaのファイル構造:zipファイルmediabootanimation.zip なので)
- Xperiaを再起動しxRecoveryでバックアップ。(←最重要)
- バックアップ完了後、xRecoveryメニュー>Install Custom zip>choose custom zip from sdcard>コピーしたファイルを選択し実行。完了したらReboot phoneで再起動。無事起動するかドキドキです。
(この考察はリアルにUOTで生成されたファイルを初適用ですww)
ファイル適用前 ⇒ 適用後
⇒
ちゃんと自分で選んだとおり変更されました!
ちなみにステータスバー引き下げる部分の元をキャプチャし忘れましたが、こんなになりました!(元はCM6.1.3のデフォです)
- もしうまく適用されない場合は以下の手順をやってみてください。
(1)Partation toolsのMount/systemを選択。(選択されると「Unmount」となります)
(2)Install custom zipにてインストールを行う
という感じで、適用範囲はxdaとかのテーマよりも適用範囲は狭いですが、常に目に入る部分の変更のため、満足度は非常に高いと思います。気軽に試せますし、プレビューも出来ますんで、是非いろいろ試してみてください!!
あと2.1なXperiaにはUOTファイルを解凍し、framework-resも解凍して必要なファイルを手動で抜き出し、元のframework-resを7-zipで開いて一つずつ適用することになります。
Root Exploreだと失敗する可能性あり、以下に(自分の備忘録)コマンド書いておきます。
C:adb shell
$ su –
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
# dd if=/sdcard/framework-res.apk of=/system/framework/framework-res.apk
# chmod 644 /system/framework/framework-res.apk
# reboot
【参考:bootanimationのファイル格納場所変更方法】
(1)生成されたzip(UOT-**-**-**-**-*.zip)を解凍。
(2)UOT-**-**-**-**-*datalocalbootanimation.zipを確認。
(3)UOT-**-**-**-**-*zipを右クリック>7-zip>開く
(4)開いたら右クリックで「フォルダ作成」>media>ok
(5)bootanimation.zipをmediaフォルダに入れる
(6)dataフォルダを削除
これでxRecoveryで適用できる形になりましたので、SDカードへコピー。