Skip to content

framework-res.apkの差し替えについて

This content is not available in your language yet.

ご無沙汰してま~すヽ(^。^)ノ

最近は寒いですね、、というか今日ニュース見たんですが、「センター試験」本番ですね!

受験生のみんな、頑張れ!!東北の方じゃ、電車遅れて大変だったみたい。。

さて、本題ですが、Galaxy S に機種変してから、様々なことにチャレンジ(?)してきたので、

いくつか紹介したいと思います(^_-)-☆

購入(2010 年 10 月 28 日)してから速攻で root 化(当日)して、大学の講義の写真を撮れるようにカメラのシャッター音を消したり、GPS の設定ファイルを調整したりと、いろいろやってきましたが、

ここでは、Notification バーにあるアイコン(バッテリーアイコンなど)やその他の様々なアイコンを変える方法を紹介します!(^^)!


コムギドットネットさんで紹介されている framework-res.apk を使用

この「framework-res.apk」というファイルに多くのアイコン画像が入っていて、もう一つの「twframework-res.apk」には外観を決める画像が多く入っている(?)と思っています(^^ゞ

なので、ここのファイルと置き換えれば、外観もアイコンもスパッと変わります!

framework-res.apk と twframework-res.apk の置き替え

もちろん、バックアップはしましょーね!文鎮しても大丈夫って方はすぐに取り組んでもいいですが・・初心者ならバックアップした方が絶対いいです!

root 化する際に使用した「SuperOneClick🔗」のディレクトリ内にある「adb.exe」と「rageagainstthecage」を使います。

※なお、”XDA-Developers”のサイトからファイルをダウンロードをする際は、ユーザ登録が必要になります。

ここで、”SuperOneClick”のディレクトリ(ここに”adb.exe”と”rageagainstthecage”が入っている)に転送する 2 つのファイルをコピーしておく。

次に PC との接続ですが、デバッグモードから入る方法は、いくつかのサイトで紹介されているので別の方法で行きたいと思います。

以下が一連の流れです ↓

操作手順

電源 OFF

まずは電源を切ります。(普通に)

端末リカバリーモードの起動

USB はつながないまま、「電源ボタン」・「ホームボタン」・「ボリュームボタン(上の方)」をしばらく同時押しします。いったん「docomo」という画像が出るので、そのまま押し続け、黄色い文章のダイアログが出てきたら、ボタンを放します。これが「リカバリーモード」です。

コマンドプロンプト起動

「adb.exe」があるディレクトリ内で、「Shift」・「右クリック」で「コマンドウインドウをここで開く」を選び、コマンドプロンプトを起動します。

PC とスマートフォンの接続

本機での操作はせず、USB で PC と接続します。

接続確認

接続できているかのチェックです。

Terminal window
adb devices

で「recovery」が表示されれば成功です。表示されなかった場合は、USB ケーブルを一旦抜いて再度差してください。

それでもダメなら、本機を一度再起動させてからリカバリーモードに入ります。

スーパーユーザモードに移行

次に、

Terminal window
adb push rageagainstthecage /tmp
adb push framework-res.apk /tmp
adb push twframework-res.apk /tmp
adb shell
chmod 755 /tmp/rageagainstthecage
/tmp/rageagainstthecage

として、本機にファイルを転送し、スーパーユーザーモード(?)に切り替えます。

バックアップ操作

そして、まずはバックアップをします。

Terminal window
cp /system/framework/framework-res.apk /mnt/sdcard/framework-res.apk
cp /system/framework/twframework-res.apk /mnt/sdcard/twframework-res.apk</pre>

バックアップができたのかを念のため確認します。

Terminal window
cd /sdcard
ls (-l)
/*ここでframework-res.apkとtwframework-res.apkがあるかを確認、できたら次の手順へ*/

システムディレクトリの更新

「system」ディレクトリはRead-OnlyでマウントされているのでRead-Writeで再マウントします。そして、ファイルの削除と移動、そしてパーミッションの変更を行います。

Terminal window
mount -o rw,remount /dev/block/stl9 /system
/*Read-WriteでSystemを再マウント。*/
rm /system/framework/framework-res.apk
rm /system/framework/twframework-res.apk
/*元のファイルを削除*/
/*これをしないとSystemディレクトリの容量オーバーになってしまう。*/
/*シンボリックリンクが分かる方はファイルを削除せずに各自で"/data"にでも新しいディレクトリを作成して、こことリンクさせてください。*/
cp /tmp/framework-res.apk /system/framework/framework-res.apk
cp /tmp/twframework-res.apk /system/framework/twframework-res.apk
/*元のファイルがあった場所に先ほど転送したファイルをコピーします。*/
chmod 644 /system/framework/framework-res.apk
chmod 644 /system/framework/twframework-res.apk
/*パーミッションが規定値でないと起動できないので、合わせておきます。*/
mount -o ro,remount /dev/block/stl9 /system
/*Read-Onlyで再マウント。*/

ADB 接続の終了

必要な工程はほぼ終わったので、

Terminal window
exit
reboot
> exit

で終了します。

トラブル発生時の対応

万一、再起動できない(docomo ロゴのところで止まる、バイブだけが続く…etc.)などの症状が出た場合は、

バックアップしておいたファイルを System ディレクトリ(/system/framework)に戻します。

まずはリカバリーモードに入り、そこからの手順を以下に示します ↓

Terminal window
adb push rageagainstthecage /tmp
adb shell
chmod 755 /tmp/rageagainstthecage
/tmp/rageagainstthecage
mount -o rw,remount /dev/block/stl9 /system
/*Read-WriteでSystemを再マウント。*/
rm /system/framework/framework-res.apk
rm /system/framework/twframework-res.apk
/*原因のファイルを削除*/
cp /mnt/sdcard/framework-res.apk /system/framework/framework-res.apk
cp /mnt/sdcard/twframework-res.apk /system/framework/twframework-res.apk
/*元のファイルがあった場所に先ほど転送したファイルをコピーします。*/
chmod 644 /system/framework/framework-res.apk
chmod 644 /system/framework/twframework-res.apk
/*パーミッションが規定値でないと起動できないので、合わせておきます。*/
mount -o ro,remount /dev/block/stl9 /system
/*Read-Onlyで再マウント。*/
exit
reboot
> exit

後日談

自分の場合、購入後 1 週間が経ったときに、何を思い立ったのか、「Lagfix をしよー!」との安易な考えで、

Lagfix できたものの、3 日後に意味不明なバグが発生し、カバンの中で文鎮化してました。

当時はまだ、「adb shell」や「リカバリーモード」の使い方を知らなかったので、その翌日にドコモショップに行ったら、・・・

運よく初期不良という形で無料交換してくれましたヽ(^。^)ノ(家に帰り着いた時、一人でスタンディングオペレーションして喜んでた(笑))

ということで、現在所持している Galaxy S は 2 代目 Galaxy S ということになります…。

皆さんも、システムのファイル操作等の危険な操作を行う際は、しっかりとググったりして勉強しておきましょう!

今、何も起きていない場合でも、将来何か起こった時にすぐに対応できるというメリットもあります。

(スマートフォンでは、壊れたらすぐに DS、AS、SS に駆け込むという考えは捨てた方がよいのかも・・(破損、浸水等以外のケース))

「z4mod」という、Lagfixと同じ類のツールを最近知って、ちょいと企んでいますが・・・

過去のことを思うと、中々踏み出せない状態ですね(泣)

今の Quadrant Benchmark のスコアは「1040 ちょい」ですが、z4modだと「1900 ちょい」になるだとか。。

Lagfixと大した差はないみたいですね。しかしながら、System ディレクトリに 3MB 以上の空きが必要みたいで、

940KB 程度しかない自分の Galaxy S では今のところ不可能です。シンボリックリンクめんどいし(^^ゞ

まぁ、そんな感じで日々 Android もしてるというわけなんですよね~(^^♪

adb shellに関しては、UNIX/Linux 系列と同じコマンドで対応できるので、

情報系の大学生なんかはほぼ余裕でしょうね~なんちゃって!(笑)

「Linux なんか知らん!」とかいう方は、root 化するより以前に Linux のコマンドをある程度学習した方がいいと思います。

自己責任でよろしければ、参考になれば幸いです。

Related Articles

Copyright © 2009-2024 NemuNote All rights reserved.