いちいちステータスバーに表示されるデバッギングのアイコンを消してみる(忘備録)

デバッギングのアイコンを表示しているのが/system/services.jarなので、これを編集する必要があります。chachaのようなodexシステムだとちょっと作業が面倒。

まず、ROM内のboot.imgの中のinit.rcを取り出すか、adb pull /init.rcで端末から取り出して、init.rcの始めの方にある環境変数のところでBOOTCLASSPATHを確認します。(多くの人がBOOTCLASSPATHをちゃんと確認しないで、適当に手順を説明してるんですよね…)chachaの場合は


export BOOTCLASSPATH /system/framework/core.jar:
/system/framework/bouncycastle.jar:
/system/framework/ext.jar:
/system/framework/framework.jar:
/system/framework/android.policy.jar:
/system/framework/services.jar:
/system/framework/core-junit.jar:
/system/framework/com.htc.commonctrl.jar:
/system/framework/com.htc.framework.jar:
/system/framework/com.htc.android.pimlib.jar:
/system/framework/com.htc.android.easopen.jar:
/system/framework/com.scalado.util.ScaladoUtil.jar:
/system/framework/com.orange.authentication.simcard.jar:
/system/framework/android.supl.jar
(すべて1行)

必要なツールは
smali
smali.jar
baksmali
baksmali.jar

7za.exe
dexopt-wrapper

手順は以下の通り。

  1. ROMから/system/frameworkをフォルダーごとPCにコピーする。
  2. dexopt-wrapper以外のツールをPCにコピーしたframeworkにコピー
  3. dexopt-wrapperはadb pushで端末の/system/frameworkへコピー、アクセス権を755に変更する
  4. java -jar baksmali.jar -x services.odex -o out -c [上で調べたBOOTCLASSPATH]でservices.odexを展開
  5. out\com\android\server\NotificationManagerService.smaliを開き、「iput v7, v6, Landroid/app/Notification;->icon:I」をいう個所を探し、「#iput v7, v6, Landroid/app/Notification;->icon:I」とコメントアウトして保存
  6. java -jar smali.jar out -o classes.dexでdex化
  7. 7za.exe a -tzip -mx0 services.jar classes.dexでservices.jarにclasses.dexを追加
  8. 端末の/system/framework/services.jarをバックアップしておき、7で作った新しいservices.jarをadb pushで端末の/system/framework/にコピー
  9. ./dexopt-wrapper services.jar new.odex  [上で調べたBOOTCLASSPATH]で新しいodexを作成
  10. dd if=services.odex of=new.odex bs=1 count=20 skip=52 seek=52 conv=notruncで署名をコピー
  11. 新しく作ったservices.jarをバックアップを取っておいた古いservices.jarに戻し、services.odexを削除してnew.odexをservices.odexとリネームして終了

注意点としては手順4と9で [上で調べたBOOTCLASSPATH]を指定するとき、パスを正しく指定しておく必要があります。

あとはリブートすれば、いつものうざいデバッギングのアイコンは表示されなくなり、めでたし、めでたし。

他のアイコンなどを隠したい場合などの修正個所は、こちら『Hide various Icons from the Status Bar』で確認できます。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: