コメント 5

MEDIAS WPでrootを取って無駄に常駐するアプリを無効にする

MEDIASでrootが取れるようになったという話で、rootでないと動かないアプリをどうにかしたいとかはないのですが、無駄に常駐してバッテリを食うアプリを無効にすることに成功しました。

私の場合、その代表格は歩数計。常にバッテリーの5%くらいを食っていたアプリで、使いもしないのにバッテリーばかり消費する無駄アプリ。MEDIAS WPを買った当初は使ってみたのですが、あんまりちゃんと歩数をカウントしてくれないみたいだし・・・。

他にも、ドコモ謹製のウィジェット類も使いもしないのに常駐するので、これも無駄。

やり方は以下のとおり。もちろん、あくまで自己責任ですよ!!
(ダウンロードが必要なファイルが2つありますが、Google先生あたりに聞いてください。)

まずzergRushをダウンロードして、以下のコマンドで動かします。

adb push zergRush /data/local/tmp/
adb shell chmod 755 /data/local/tmp/zergRush
adb shell /data/local/tmp/zergRush

zergRushを動かすといろいろとメッセージが流れて、最後に「[+] Killing ADB and restarting as root… enjoy!」というメッセージが出ればOK。
zergRushを置いたところと同じディレクトリにboomshとshの2つのファイルが出来るので、shの方を実行します。

adb shell
/data/local/tmp/sh

これでADB Shellのプロンプトが$から#に変わるはず。rootになれたってことですね。
次は、/systemディレクトリを書き込み可能にします。
あらかじめsysunlock.koをダウンロードして、adb pushで/sdcardに置いておきます。

insmod /sdcard/sysunlock.ko patchaddr=0XC05C3039 lockinfoaddr=0xC08FCEA8
lsmod
mount -o rw,remount /system /system

途中のlsmodコマンドを打つと、sysunlockというのが増えているはず。
mountコマンドで/systemディレクトリを書き込み可能でリマウントすれば無駄なアプリを無効にする準備は万端。
ちなみに、N-04Cの場合はinsmodコマンドでpatchaddr以降が不要です。

/systemディレクトリが書き込み可能になっているので、そこにあるファイルを消すとか、そういうことも出来るのですが、それはMEDIASを文鎮化する早道だったりするので、厳に慎みましょう。
そこで活躍するのは、pm disableです。これは指定したアプリを無効にするだけで削除はしません。pm enableすると復活するので、何かあったら戻せるというわけです。

pm disable パッケージ名
pm disable com.nec.android.ncmc.Pedometer ・・・歩数計を無効にする

指定するパッケージ名は設定のアプリケーションの管理から実行中タブを表示すると分かります。実行中タブでメニューを開き、「キャッシュしたプロセスを表示」を選択すると表示されるプロセスが切り替わります。
pm disableをするとそのプロセスの実行中タブでの表示が変わるので、うまくいった確認も出来ます。

ひととおり操作が終わったら、/systemディレクトリを再び書き込み禁止にして、sysunlockをrmmodで外します。

mount -o ro,remount /system /system
rmmod sysunlock

次にzergRushを動かす時にboomshとshが残っているとエラーになるので、消しておきます。これはrootでなくてもOKです。

rm /data/local/tmp/boomsh
rm /data/local/tmp/sh

これをやってからまだ1日も経っていないのでバッテリーの保ちが本当に良くなったかは、もう少し時間が経たないと分からないのですが、感覚的には良くなったような気がしています。

Follow me!

5 件のコメント

  1. ぺんぎん

    こんにちは。非常に有用な記事をありがとうございます。
    早速N-06Cでやってみました。
    root化・system unlockまでは出来たのですが、packageをdisableしようとコマンドを発行しても

    killed +(パッケージ名)

    とだけ表示されます。
    端末を再起動しても、無効化されていないようです。(普通に実行されている)

    pm disable を発行すると、どのようなreturnが返ってきますでしょうか?

  2. Package パッケージ名 new state: disabled
    みたいなメッセージが戻ってきます。
    たまに、この表示がされた時点で固まってプロンプトが返ってこなくなることがありますが、冷静にCtrl+Cで抜けてしまえば問題ないようです。

    あと、pmコマンドを使って、
    pm list packages -e で、現在有効なパッケージの一覧が表示されて、pm disableで無効化すると、表示されなくなります。
    また、現在無効になっているパッケージは、pm list packages -d で表示できるので、それでうまく無効化できたか確認できます。

  3. ぺんぎん

    返信ありがとうござます。
    もう一回やってみましたがダメでした。 pm list package -e で見ても変化がないのでpmコマンドが効いていない感じですね。
    ちなみに

    # pm disable package:com.nec.android.ncmc.Pedometer
    pm disable package:com.nec.android.ncmc.Pedometer
    [1] Killed pm disable package:com.nec.android.ncmc.Pedometer

    こんな感じです。

  4. ぺんぎん

    ありがとうございます。上手くいきました。
    すっごくすっきりした記事で初心者にも分かりやすかったです!
    フォローしていただいてありがとうございます

コメントを残す