メモ  > Android > Galaxy S2 LTE(SC-03D)の電池アイコンを変更する

Galaxy S2 LTE(SC-03D)の電池アイコンを変更する

Galaxy S2 LTE(SC-03D)電池アイコンを100段階表示に変更したいと思います。
※ 注意
・電池アイコンを変更する場合はroot化が必須です。
・さらに失敗すると二度と電話として使えなくなる可能性があります。
 いわゆる重しにしか使えない文鎮状態です。
・あくまでも「自己責任」でお願いします。
 
必要なもの
・adb
 Android SDKをインストールしてもいいですが、今回はroot化の際に利用した
 DooMLoRD_v3_ROOT-zergRush-busybox-su.zipに付属のものを利用したいと思います。
 
・Apk Manager
 http://forum.xda-developers.com/showthread.php?t=695701
 ダウンロード先のダウンロードボタンを押すとダウンロードできます。
ダウンロードボタン
 
・電池アイコン
 http://forum.xda-developers.com/showthread.php?t=724778
 アイコンのダウンロード方法が分かりにくいのですが、上の方はアイコンのサンプルとなり
 下のほうに画像のようなダウンロードリンクがあります。
 ダウンロードリンク
 
変更方法
 
1.端末をUSBデバッグモードにします。
設定 > アプリ > 開発 > USBデバッグ
 
2.端末とPCをUSB接続します。
 
3.コマンドプロンプトを立ち上げ、adbのある位置に移動します。
cd C:\DooMLoRD_v3_ROOT-zergRush-busybox-su\files
 
4.端末に接続し、framework-res.apkをバックアップする。
端末に接続
adb shell
 
framework-res.apkをSDカードにバックアップします。
cp /system/framework/framework-res.apk sdcard/
 
一旦接続を閉じます。
exit
※ コマンドプロンプトは後で利用するので閉じないでください。
 
5.framework-res.apkをパソコンにダウンロードします。
adb pull /system/framework/framework-res.apk C:\framework-res.apk
 
6.ダウンロードしたframework-res.apkをApk Managerのフォルダに移動します。
Apk Managerを解凍してできた、place-apk-here-for-moddingフォルダです。
 
7.Apk Managerを起動します。
Apk Managerを解凍してできた、Script.batを実行します。
adb.exeにパスが通っていないと以下のようなメッセージが表示されますが
気にせずEnterを押します。
警告
 
8.framework-res.apkをDecompileする。
しばらくするとPlease make your decisionと入力ができるようになります。
まずは、「22」を入力してEnterを押します。
 
framework-res.apkを選択
apkファイルの選択画面になるのでframework-res.apkを選択します。
今回は「1」を入力してEnterを押します。
最初の画面に戻るので「9」を入力してEnterを押します。
Decompileが始まり、しばらくすると最初の画面に戻ります。
※ 後でまた利用するのでApk Managerの画面は閉じないでください。
 
9.アイコンを差し替える
Apk Managerを解凍してできた、projectsフォルダにframework-res.apkフォルダが出来ている事を確認します。
ダウンロードしたアイコンのzipを解凍し、それぞれ以下のフォルダに上書きコピーします。
※ アイコンファイルは後で利用するので切り取りではなく、コピーで残しておいてください。
 
drawable > projects\framework-res.apk\res\drawable
drawable-hdpi-v4 > projects\framework-res.apk\res\drawable-hdpi
 
10.framework-res.apkをCompileする。
Apk Managerの画面に戻り、「11」を入力しEnterを押します。
 
yを入力
しばらくすると入力を求められるので、「y」を入力しEnterを押します。
 
yを入力
2度目の質問にも、「y」を入力しEnterを押します。
 
まだ入力しない
しばらくすると何か入力を求められますが、まだ入力しないでそのままにしてください。
 
Apk Managerのフォルダにkeepというフォルダができるので、そのフォルダにある不要なファイルを削除します。
keep\resources.arsc
keep\res\drawableフォルダ内の先ほど置き換えたアイコン
keep\res\drawable-hdpiフォルダ内の先ほど置き換えたアイコン
 
問題なのは先ほど置き換えたアイコンを消す作業ですが、ダウンロードしたアイコンファイルを
再度keep\res\drawable、keep\res\drawable-hdpiに上書きコピーしましょう。
コピーしたファイルはWindows XPだと選択状態になるので、削除が簡単になります。
 
削除ができたら、Apk Managerの画面に戻りEnterを押します。
正常に終了したら、place-apk-here-for-moddingフォルダに
unsignedframework-res.apkという名前でファイルが作成されます。
 
11.framework-res.apkを差し替える
※ ここからの作業で端末が起動できなくなる恐れがありますので慎重に。
 
まずは、unsignedframework-res.apkをC:\unsignedframework-res.apkに移動しておきます。
 
adbを利用して、unsignedframework-res.apkをSDカードにコピーします。
adb push C:\unsignedframework-res.apk /sdcard/unsignedframework-res.apk
 
端末に接続
adb shell
 
suをしてrootユーザになります。
su -
※ 先頭の文字が$から#に変わっていることを確認します。
 
system以下を書き込み可能にします。
mount -o remount,rw /dev/block/mtdblock3 /system
 
framework-res.apkをunsignedframework-res.apkで差し替えます。
cp /sdcard/unsignedframework-res.apk /system/framework/framework-res.apk
※ この時点で端末側でアプリが異常終了したり、壁紙が変わったりするけど気にしない。
 
framework-res.apkのパーミッションを修正
chmod 644 /system/framework/framework-res.apk
 
端末の再起動
reboot
 
うまく出来たらアイコンが変わっているはずです。
完了
 
もし失敗した場合(文鎮化した場合も)USB接続で端末と接続できれば助る可能性はあります。
以下のようにバックアップしたframework-res.apkを戻せばOKかと思います。
 
adb shell
su -
mount -o remount,rw /dev/block/mtdblock3 /system
cp /sdcard/framework-res.apk /system/framework/framework-res.apk
chmod 644 /system/framework/framework-res.apk
reboot
 
今回は端末を起動したまま行いましたが、本来はリカバリモードで行うのが良いでしょう
私の環境ではなぜかリカバリーモード中にUSB接続できなかったので起動中に行いました。
 

関連するページ

メモ  > Android > Galaxy S2 LTE(SC-03D)をroot化する
メモ  > Android > Galaxy S2 LTE(SC-03D)をroot化する その2
メモ  > C# > .NET Framework 4のメール送信で、長い日本語ファイル名の添付をする方法
メモ  > 趣味 > ニコニコ動画のタイムシフト動画を保存する
メモ  > JavaScript > 文字列関連