【デバッグ接続】パソコン上から端末内でアプリを起動する「am」コマンド

Android端末をパソコンにUSB接続して行う「デバッグ接続」で利用できる機能の一つに、端末上でアプリを起動する「adb shell am」コマンドがある。ホーム画面のアプリ一覧をタッチしたときのように単にアプリを起動するだけでなく、ファイルやURLを対応アプリで開かせたり、「共有」対応アプリにデータを受け渡すことも可能だ。更に、本来は直接開けない設定や履歴などのサブ画面を直接開くこともできるぞ。
外出先では利用しないけど自宅ではよく使うアプリやWebページは、この機能を利用して起動するBATファイルにしてパソコン上に設置しておけば、端末のホーム画面のアイコンを増やすことなく、素早く実行させられる。
また、「adb shell input」を利用して自動操作を行うとき、アプリの起動や切り替え操作を効率よく発生させるのにも役立つだろう。




アプリやサブ画面を起動


001

アプリを起動やサブ画面の表示を行うには、パッケージ名の他にアクティビティ名が必要だ。端末上でアプリの起動や直接開きたい画面の表示を行ってから、パソコン上のコマンドプロンプト上で「adb logcat -b events -d | find "am_create_activity"」のようなコマンドを実行してみよう。アプリの起動イベントのログが古いものから順に抽出表示される。数字と「,」の後ろから次の「,」までの間が、パッケージ名とコンポーネント名を示す文字列となっている。


002

特殊ショートカット作成ツール「QuickShortcutMaker」でも、アプリのアクティビティ名を調べることができる。

QuickShortcutMaker(ショートカットツール) - Google Play の Android アプリ


003

「adb shell am start 」に続いて、調べたパッケージ名・アクティビティ名を加えたコマンドを実行してみよう。



ファイルやURLを開く


004

「adb shell am start -a android.intent.action.VIEW -d 」に続いて、開きたいURIを指定しよう。端末上のファイルの場合は、「file://」に続いてファイルのパスを加えた物を指定すればいい。


005

複数の対応アプリがインストールされていて、デフォルトのアプリが選択されていない場合は、アプリ選択画面が表示される。


006

コマンドの最後にパッケージ名・アクティビティ名を加えれば、指定したアプリで開かせることも可能だ。
アプリが対応していないファイルを無理矢理開かせることもできるが、動作に支障が生じる可能性があるので注意が必要だ。



「共有」アプリの呼び出しを実行


007

ブラウザなどの「共有」メニューからのアプリ起動も、amコマンドで再現可能だ。
URLやテキストを受け渡したい場合、「adb shell am start -a android.intent.action.SEND -e android.intent.extra.TEXT "共有したいテキスト" 」に続いて送り先のアプリ・アクティビティ名を指定すればいい。


008

また、ファイルを受け渡したい場合、「adb shell am start -a android.intent.action.SEND --eu android.intent.extra.STREAM "file:///sdcard/filename.ext" 」に続いて送り先のアプリ・アクティビティ名を指定しよう。
「--eu」はハイフンが2つなので注意が必要だ。



アプリ情報画面を開く


009

アプリ管理画面などから開ける「アプリ情報」の画面を開くには、「adb shell am start -a android.settings.APPLICATION_DETAILS_SETTINGS -d package:」に続いて(スペースを空けずに)アプリのパッケージ名を指定しよう。
「adb shell input keyevent」と組み合わせれば、コマンドからは実行できない「キャッシュを消去」などを自動実行させることも可能だ。


010

Playストアのアプリ情報ページを開くには、「adb shell am start -a android.intent.action.VIEW -d market://details?id=」に続いて(スペースを空けずに)アプリのパッケージ名を指定しよう。

関連記事

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

最新記事