【デバッグ接続】まだまだある!知ってると役に立つかも知れない小技集

adb_misc_008Androidでは、端末をパソコンにUSB接続して「デバッグ接続」を行うことで、パソコン上から様々な機能を実行可能だ。今回の特集では、デバッグ接続で利用できる様々な機能を紹介してきたが、まだ他にも多くの機能が存在する。
このページでは、単独の記事にするほどではないが知っていれば役に立ちそうな小技をまとめて紹介するぞ。




バックグラウンドのアプリを完全終了


001

「adb sehll am」コマンドには、アプリを起動させる「start」だけでなく、アプリを終了させる「kill」というサブコマンドも用意されている。「adb shell am kill」に続いて、アプリのパッケージ名を指定すれば利用可能だ。
ただし、最前面で使用中のアプリを直接終了する事は出来ないので、ホームアプリなど別のアプリに切り換えてから実行する必要がある。
「adb shell am force-stop」を実行すれば、操作中のアプリであっても強制終了されるが、端末起動時などの自動実行を停止するというのが本来の効果なので注意が必要だ。



バッテリの充電状況をPC画面上で確認

「adb shell cat /sys/class/power_supply/battery/capacity」というコマンドで、端末のバッテリ残量を取得・表示することも可能だ。そのままだと単に数値が表示されるだけだが、定期的に残量をチェックして100%になったらメッセージを表示するというBATファイルを用意すれば、いちいち端末を操作して充電状況を確認することなく、充電状況を知ることが出来るぞ。


002

「adb shell cat /sys/class/power_supply/battery/capacity」というコマンドを実行すれば、バッテリの残量が表示される。


003

あんスマが用意したBATファイル集の「waitcharge.bat」をadb.exeと同じフォルダに置いて実行すると、10秒ごとにバッテリ残量が表示され、100%になるとメッセージが表示される。
十分に充電されるのを待ってから出掛けたい場合などに使うといいだろう。




ストレージの空き容量を表示


004

「adb shell df」コマンドを実行すると、端末のストレージの空き容量を確認することができる。端末設定の「ストレージ」画面や、各種ファイルマネージャアプリなどでも確認できるが、このコマンドを実行するBATファイルを作成しておけば、パソコン上から少ない手間で確認できるだろう。
BATファイルで実行する場合、コマンド実行後もウィンドウが閉じないように、下に「pause」コマンドを記述しておこう。



IME(文字入力アプリ)を普段使う物に一発切り替え


005

「adb shell ime list -s」でインストールされているIMEのIDを一覧表示でき、「shell ime set アクティブにしたいIMEのID」のようにすればアクティブなIMEを切り替えられる。
BATファイルで端末の再起動やファイルのバックアップなどの定型処理を行うついでに、普段使うIMEに切り換えておけば、特殊なIMEを使ったまま戻し忘れて、出先で急いで文章を入力したくなったときに困るなんてことを防げるだろう。
また、頻繁に文字入力アプリを切り換えて動作確認を行いたい場合などに、切り替えの手間を軽減するのにも役立つだろう。



「content」コマンドで端末の設定を直接変更する

Android 4.1.1以降でのデバッグ接続で利用可能な「adb shell content」コマンドでは、Androidで様々なデータの管理に利用されている「コンテントプロバイダ」というデータベースのデータを表示・変更できる。Androidのシステム設定も、コンテントプロバイダで管理されているので、自由に変更可能だ。
これを利用すれば、「root化」なしでは一般のアプリからは変更できないGPSなどの設定を含め、様々な設定をパソコン上から変更できる。画面の自動消灯までの待ち時間を秒単位で設定するなど、通常では設定できない値に設定することも可能だ。
しかし、設定を誤ると端末の動作に支障を来す可能性もあるので、利用は慎重に行おう。


006

「adb shell content query --uri 」に続いて、以下のデータベースURIを指定すると、現在格納されているデータがずらっと表示される。「name=」から「,」の間が、設定項目名になっているぞ。

content://settings/secure
content://settings/system
content://settings/global


007

「adb shell content update --uri データベースURI --where "name='項目名'" --bind value:i:数値」のようなコマンドを実行すれば、設定を変更できるぞ。
設定が数値ではなく文字列の場合は、末尾を「--bind value:s:文字列」のようにしよう。



不具合の原因究明に役立つ「logcat」や「dumpsys」

一般ユーザーにも役立つ機能が多数存在するデバッグ接続だが、本来は開発者がアプリの動作確認や不具合の原因究明を行うためのものだ。
そんな本来の「デバッグ」用の機能の代表格と言えるのが、アプリの動作状況などのログを表示する「logcat」コマンドだ。
また、システムの様々な情報を出力する「adb shell dumpsys」コマンドも、アプリやシステムの状態を調査するために役に立つことがある。


008

「adb logcat -d」というコマンドを実行すると、その時点でログに記録されている内容が表示される。「-d」無しで実行すると、終了せずに新たなログを表示し続けるぞ。
特定の文字列を含むログだけを表示したければ「adb logcat -d | find "探したい文字列"」のように、findコマンドと組み合わせて実行するといいだろう。
なお、「adb logcat -c」というコマンドを実行すると、その時点までに保存されていたログが消去される。余計な古いログが邪魔な場合に実行しよう。


009

システムの様々な情報を確認するには「adb shell dumpsys >dumpsys.txt」のようなコマンドを実行しよう。「>」以降で指定したファイル名のファイルに、情報が書き込まれるぞ。


010

書き込み先のファイルをメモ帳などのテキストエディタで開いて、エディタの検索機能で調べたいアプリのパッケージ名などを検索してみよう。「adb shell am start」コマンドで使用できるアクション名など、役に立つ情報が見つかるかも知れないぞ。


011

dumpsysでは、一部の情報のみを表示させることも可能だ。まず、「adb shell dumpsys | find "DUMP OF SERVICE"」で、項目の見出しを抽出表示してみよう。


012

「adb shell dumpsys 」の後ろにDUMP OF SERVICE以下に表示されていた項目名を入力してみよう。その項目の情報だけが出力されるぞ。例えば、「adb shell dumpsys battery」では、バッテリの詳しい状態を確認できる。

関連記事

2014年11月08日16時36分 公開 | カテゴリー: 便利化・快適化 | キーワード: | Short URL
このエントリーをはてなブックマークに追加

最新記事