スキップしてメイン コンテンツに移動

システムファイルの差し替え方法

root を取ると、UOT KITCHEN 等で作成したリソースファイルを差し替えたくなります。なりますよね。ならないなら、root 取った意味があんまり無いと思います。

差し替えの方法なのですが、自分は以下の方法で行っています。

2011/11/24 追記: reboot 前に sync しないの?って聞かれたんだけど、busybox って reboot しても sync してくれないんだっけ?
……気になったので 1.19.3 のソースをざっと見た所、/init/init.c の 718 行目から run_shutdown_and_kill_processes 関数があって、sync はちゃんとしてくれている。
だから、ソースを弄ってなけりゃ大丈夫なんじゃね?
結論:もし、使っている busybox バイナリにオリジナルから改変が入ってると考えてるなら、reboot 前に sync は入れておいても良いんじゃね?とは、思います。私は入れません。
タフすぎて そんはない



事前準備
  • busybox を導入しておく
差し替えたいファイルは多々あると思いますが、代表的な3つのファイルについて差し替え手順を自分の方法で書いておきます。

各ファイルは d:\android に置いてあるものとします。携帯には、空き容量のある SD カードを挿しておくこと。オリジナルは必ずバックアップを取っておくこと。
また、すべてパソコンのコマンドプロンプトで行います。

framework-res.apk
なお、このファイルを差し替える前に本体電話帳とdocomo電話帳に保存されている連絡先は必ずバックアップを行うこと。すべて消去されます。
ただし、Google 関連は同期設定を再設定すればすべて復活はします。ただ、怖いのでバックアップは取っておきましょう。
また、このファイルは危険らしいです。自分はまだやっちまったことはありませんが、でも、たぶん、adb さえ通れば画面が真っ暗でも復旧はどうとでもなるはずです。

adb push d:\android\framework-res.apk /mnt/sdcard
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
cd /system/framework
mv framework-res.apk framework-res.apkOld
cp /mnt/sdcard/framework-res.apk framework-res.apk
chmod 644 framework-res.apk
ls -l frame*
reboot
  • mount -o ~ は、起動時の状態では領域自体が読み取り専用なので、それを解除するおまじない。
  • mv ~の時に、既に同名ファイルでバックアップを取っているなら、先にバックアップを消す。 rm freamework-res.apkOld とでも。
  • ls -l frame* は、パーミッションとファイル名の確認のためにやってるので、別にしなくても良いです。
SystemUI.apk
このファイルの差し替えは比較的安全です。framework-res.apk の様にデータが消されることはありませんでした。処理を間違えても上部の通知領域が出なかったり、ファイル読み取りエラーが延々と携帯端末に表示されたりするぐらいです(経験談)。電源を落として再起動すれば、上部の通知領域が読み込まれなくなり、読み取りエラーも出ないので、落ち着いて adb を使ってオリジナルと置き換えれば簡単に復旧できます。

adb push d:\android\SystemUI.apk /mnt/sdcard
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
cd /system/app
mv SystemUI.apk SystemUI.apkOld
cp /mnt/sdcard/SystemUI.apk SystemUI.apk
chmod 644 SystemUI.apk
mv SystemUI.odex SystemUI.odexSleep
ls -l System*
reboot

bootanimation.zip
起動時のロゴを差し替えるファイル。このファイルも比較的安全らしいです。

adb push d:\android\bootanimation.zip /mnt/sdcard
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
cd /system/media/
cp /mnt/sdcard/bootanimation.zip bootanimation.zip
chmod 644 bootanimation.zip
ls -l bootani*
reboot

それでは、dance forever your only one !

コメント

このブログの人気の投稿

Arch Linux - linux-firmware を分割したから

 NVIDIA firmware が入っていると、更新できないから気をつけろよ? エラー: 処理を完了できませんでした (衝突しているファイル) linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad103 がファイルシステムに存在しています linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad104 がファイルシステムに存在しています linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad106 がファイルシステムに存在しています linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad107 がファイルシステムに存在しています エラーが発生したため、パッケージは更新されませんでした。 公式アナウンス https://archlinux.org/news/linux-firmware-2025061312fe085f-5-upgrade-requires-manual-intervention/ 先に言って(ry ……まぁ、対処法も含めて書いてくれているから、親切かもしれんが……パッケージとしてどうにかならんかったのか。 pacman -Rdd linux-firmware pacman -Syu linux-firmware

無効にしたアプリ等

ドコモさん,消せない電話帳アプリとか入れないで下さい。要らないものは消せるようにして下さい。要らないから。常駐もしないで下さい,邪魔だから。 2014/02/15:追記 DcmWapPushHelper は,spモードメール等のドコモ謹製アプリでdocomo.ne.jpメールを使っている場合は,メール受信通知が遅い場合があるかもしれないので,使っている人は無効にしない方がいいかもしれません。 IMAP 経由で使ってりゃ関係なし。 無効にしたけど,本当は抹殺したい茸アプリ オートGPS しゃべって検索 スケジュール&メモ デコメ絵文字マネージャー ドコモバックアップ ドコモ位置情報 ドコモ位置情報SUB ドコモ音声入力 ドコモ文字編集 メディアプレイヤー 取扱説明書 電話帳サービス DcmWapPushHelper(spモードメール使ってるなら無効を非推奨 DOCOMO Initialization iコンシェル iコンシェルコンテンツ NOTTV SDカードバックアップ エリア連動Wi-Fi 使わないから無効にしているアプリ 赤外線 Gガイド番組表DL 電子書籍 Reader by Sony Eメール Facebook mora Music Extension Music Unlimited Socialife Xperia AppShare (Facebook) Xperia Calendar Sync (Facebook) Xperia FB Setup Xperia Friends' Music Xperia Music Likes Xperia Proxy (Facebook) Xperia Proxy (Twitter) Xperia Social Engine Photos (Facebook) Xperia Social Engine Photos (Music Unlimited) Xperia Social Engine Sharing (Facebook) Xperia Social Engine Sharing (Twitter) Xperia Twitter Setup TV番組プレーヤー Sony Select 無効...

ナンバープレートのボルト交換

これまで錆びたことなど無かったんだけど,今度の車は海とか釣りとか行ってたからなのかな。 ボルトの頭部分がサビだらけになってしまった。 さびさび コレはいかん,いかんですよ。 いくら丁寧に乗っていても,ナンバープレートのサビで台無しですよ。 ディーラーに,ボルト無い?って聞いたら,「うちだと工賃掛かるから,ホームセンターで買って自分で換えた方が良いよ。」 実際どれくらいなのか,コ○ナンで見てみる。 通常のナンバープレートの場合は次の寸のネジを買えば良いらしい。 6mm径で,長さは15mm,ピッチが1mm。 M6x15って奴ですね。 バラで買えるのが素晴らしい。1個15円。ワッシャーも買っとこ。一個4円。 これなら何度交換しても惜しくないね! さて,スパナでこいつらを外す。まー見事に真っ茶色だな。 ねじ穴があるんだから,ドライバーでやりたくなるだろうけれど,錆びたネジにドライバーはお勧めしません。面倒でもスパナかレンチで回しましょう。できればモンキレンチも避けて。 無事取れました。片方はねじ穴が塞がりかけてるくらい錆びてますな……。 ナンバープレートを外した後の車体ですが……サビが裏側に付いているのは別に驚くことでは無いのですが,隠された部分が発泡スチロールだったことにちょっとビックリ。 さぁ!新しいネジとワッシャーよ!(計38円) レジに並んだとき,正直辛かった。 さて取り付けるまえに,試しにナンバープレートのネジ穴に通してみよう……あれ? ……ワッシャーのサイズが小さすぎですがな…… 大きいワッシャーを買いに走る。1個20円でした。 取り付ける前に,錆落とし。取りづらかったが何とか除去。 うむ。見栄えが復活。