【復習】ドジっ子のためのリソース弄りの注意点

某イケメンブロガーのサイトで、こんな書き込みを見た。
『GPSを使うとダウンロードマークとGPSマークが交互に表示』
んで、何が起こっていたのかというと

これ、WinMergeってツールで、新旧framework-res.apkにはいっているpublic.xmlというファイルを比較ましたの図ですw
左が旧で右が新なんだけど、
左の(1)の”stat_sys_gps_on”には id=”0x0108047c” と書いてあり、右の(2)の”stat_sys_gps_on”には id=”0x01080482″ と書いてますな。
このIDが、リソースIDと呼ばれるもので、0x01・・・で始まるのは、framework-res.apkに含まれとります。
で、問題の右の(3)ですが”stat_sys_download_anim1″に、id=”0x0108047c” と書いとります。

だいたい想像がつきましたか?

左のソースをそのまま新しい右側に上書きしちゃうと、『GPSを使うとダウンロードマークとGPSマークが交互に表示』されるわけです。

なので、smaliファイルを弄るときも、プログラム中に 0x0108047c とか埋め込まれてますので、注意しないとダメです。

apktoolとか使ってデコードして修正する際に、res/values/の中にpublic.xmlってのが入ってますから、ここは何よりも最初に見ておくことをお勧めします。

また、心に余裕があるときに、【復習】弄るためのツールの使い方でもかきますかw

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です