ADBを使って不要なアプリを止める

ADBを使って不要なアプリを止める

Androidスマートフォン、特に事業者モデルには不要なアプリがたくさん入っている。一部のアプリは削除や無効化が可能だが、事業者に近い部分のアプリは削除も出来ないし無効化も出来ない。

例え一時的に無効化が出来たように見えても、やがて動き出す。
昔から言われているゾンビアプリみたいなものだ。
そんなアプリもADB( Android Debug Bridge)を使えば無効化出来る可能性がある。

WindowsにADBをインストールする

ADBのインストールは、従来は面倒だった。
正当に行うにはAndroidの開発ツールをインストールしなければならないからだ。そもそもADBはAndroidアプリなどの開発時に使うものであり、一般利用者(一般?)には縁のないものだからである。
しかし 15 seconds ADB Installer  というツールならば簡単にADBをインストールすることが出来る

上記リンクをクリックしてDownloads: Version 1.4.3の下にあるXDA Mirror added by Mod をクリックし、ダウンロードする。バージョンは記事作成時点の最新である。

ダウンロードしたzipファイルを解凍し、セットアップ実行ファイルをダブルクリックするとインストーラが起動する。
インストーラはいくつかの質問を投げかけてくる。

最初はADBとFastbootをインストールするか?
次は全てのユーザで使えるようにするか?
そしてデバイスドライバーをインストールするか?
いずれもYとタイプすれば良い。
デバイスドライバは発行元がGoogle Incであり、ソフトウエアを信頼するのチェックボックスをクリックして続行する。

インストールされるファイルは以下3つだと思う。
(バージョン等によって異なる可能性がある)
adb.exe
adbWinApi.dll
adbWinUsbApi.dll

ドライバのインストールが終了すれば作業は完了である。
コマンドプロンプトから以下を行い起動を確認する。

cd\adb
C:\adb>adb

スマートフォン側の設定

ADB shellを使うためにはスマートフォン側の設定も必要だ。
設定は、設定→開発者モード→USBデバッグONにする。
開発者モードにするためには設定→システム→ビルド番号の連打だ。

開発者になれたら、設定→システム→詳細設定→開発者向けオプション→開発者向けオプションをON→USBデバッグをONにする。
USBデバッグをONにすると、USBデバッグをONにしますか?と聞かれるので、OKをタップする。

これで全ての準備が整った。

ADB shell を使ってみる

PCとスマートフォンをUSBケーブルで接続する。
PCで adb shell とタイプするとシェルが立ち上がる。
shellではいくつかのunixのコマンドが使える。
adb shellとして起動すると以下のコマンドが使える。

インストールされている全アプリのリストを出力する。
pm list package

インストールされている全アプリのリストを取得し、その文字列の中にdocomoが入っているものだけを出力する。
pm list package | grep docomo

“|”はパイプであり、pm list packageの出力をgrepに渡す役目をする。
“grep”はフィルタであり、grepに続く文字列をパスさせる。

ドコモ電話帳、ドコモ位置情報を無効化する

pm disable-user --user 0 jp.co.nttdocomo.lcsapp
pm disable-user --user 0 jp.co.nttdocomo.lcsappsub
pm disable-user --user 0 com.android.contacts

上の二つがドコモ位置情報とドコモ位置情報SUBである。
pm disable-user –user 0 は、そのパッケージを無効化するコマンドだと思って頂ければ良い。
従来はユーザの概念がなかったのだが、現在はこれがある。
一番下はドコモ電話帳の無効化だ。

これらはスマートフォンを再起動すると生き返る。

Dozeを無効化する

百害あって一利無しのdozeを無効化する。

dumpsys deviceidle disable

doze中にはGmailは受信されない。
スマートフォンを持ち上げたりスリープを解除した時に、まとめてメールが受信されたりする。
dozeを無効化すると、こうした不具合を回避出来る。
dozeは元々バッテリー節約のために実装されたものだが、バッテリーの節約効果はなかった。

Android9のディープスリープ問題(1)
Android9のディープスリープ問題(2)
Android9のディープスリープ問題(3)
Android9のディープスリープ問題(4)
Android9のディープスリープ問題(5)
Android9のディープスリープ問題(6)

ADB接続はWi-Fiでも可能

Wi-Fiでも接続は可能だが、まず最初に有線接続で設定を行う必要がある。

adb tcpip 5555 
adb connect xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxxはスマートフォンに割り当てられたローカルIPアドレスだ。
一度これを設定すると、再起動しない限りは有効である。
しかし認証なくして接続が出来るので、セキュリティ的な問題がある。

プリインストールアプリを削除する

無効化は再起動すると生き返ってしまう。
では削除してしまうのはどうか?
これも可能なのだが、削除することによってエラーが表示されるなど弊害が発生する場合もある。
従って、削除する前にはパッケージをバックアップ/保存しておいた方が良い。

adb shell pm uninstall -k --user 0 <アプリのパッケージ名>

これで削除出来るものは削除出来る。
これでも削除出来ないものはroot権限で消すしかない。

邪魔だけれど消さない方が良いアプリ

ドコモアプリケーションマネージャは邪魔だ。
コイツはドコモのお勧め何とかとか、色々と要らぬ表示を作り出している。
しかしこれを無効化或いは削除してしまうと、ソフトウエアアップデートが出来なくなる。

だがドコモ販売モデルをMVNOで使うような場合は、そもそもアップデートが出来ないのだから消してしまっても良い。

もしもの時のファクトリーリセット

Xperiaが正常動作をしなくなった場合、ファクトリーリセットで回復する可能性がある。
手順は以下の通りだ。

1. 電源ボタンを押してXperiaの電源を切る。
2. 音量ダウンと電源ボタンを同時に押したままにする。
3.画面にXperiaロゴが出現したら電源ボタンを放す。
  音量ダウンは押しっぱなしにする。
4.数秒後に電源ボタンを再度押す。
5.ファクトリメニューが表示されたら双方のボタンを放す。
6.音量UP/Downボタンでメニューを選択し、実行する。

通常のアプリを自動無効化するアプリ

一度起動すると停止しなくなるアプリがある。
例えばドコモスピードテストなどは、起動するとバックグラウンドに残り続ける。そこで何かをやっているのか何もやっていないのかは不明だ。
ゲームアプリなどでも同様のものがあり、アプリによってはバッテリー消費が激しくなるものもある。

この手のアプリは通常の操作では停止させることが出来ず、しかしスマートフォンを都度再起動するのも面倒だ。

Greenifyはアプリを無効化することによって動作を止めるアプリだ。
従来のタスクキラーのように、そのプロセスを停止させるものではなく、無効化することによってアプリの動作を止める仕組みだ。
無効化は、そのアプリのアイコンをタップすることで解除されて有効になる。

システム系のものは止められないものもあるし、ADBで無効化しなければいけないような、ドコモ位置情報は止めても止めてもいつの間にか生き返ってしまう。
しかしそれ以外の、お行儀の良い普通のアプリ、いや、お行儀の良いアプリは居座ったりしないか。
中途半端にお行儀の悪いアプリはGreenifyで対処が出来る。

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村