Android - adbコマンドでActivity実行

adbコマンドでActivity実行させる方法を紹介します。

adb shell am start

adb shell am start <Intent>コマンドでIntentのactivityを実行させることができます。

Intentはコマンドのオプションとして定義することができます。詳しい設定方法は、記事の下部にある「注:インテントの設定オプション」を参照してください。

Action万持っているIntent実行

adb shell am startコマンドの後に-a android.intent.action.MY_ACTIONよう -aオプションActionの名前を入力すると、そのActionを持っているIntentが実行されます。

$ adb shell am start -a android.intent.action.MY_ACTION

Output:

Starting: Intent { act=android.intent.action.MY_ACTION }

Action、Categoryを持っているIntent実行

-cオプションCategoryの名前を入力すると、インテントにCategoryを設定することができます。

カテゴリーが二つの場合、 -c AAA -c BBBよう何度も入力します。

$ adb shell am start -a android.intent.action.MY_ACTION -c android.intent.category.MY_CATEGORY

ActionとDataを持っているIntent実行

-dオプションの後にUriを入力すると、Uriのschemeなどのデータが設定されたIntentが実行されます。

$ adb shell am start -a android.intent.action.MAIN -d https://google.com

Packageが設定されたIntent実行

-pオプションでPackageが設定されたIntentを実行させることができます。

$ adb shell am start -a android.intent.action.MAIN -p com.example.myapp

Package、Componentが設定されたIntent実行

-nオプションPackageとComponentが設定されたIntentを実行させることができます。

$ adb shell am start -a android.intent.action.MAIN -n com.example.myapp/com.example.myapp.MainActivity

注:インテントの設定オプション

adbコマンドインテントを渡すときに使用するオプションです。

<INTENT> specifications include these flags and arguments:
    [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] [-i <IDENTIFIER>]
    [-c <CATEGORY> [-c <CATEGORY>] ...]
    [-n <COMPONENT_NAME>]
    [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
    [--esn <EXTRA_KEY> ...]
    [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
    [--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
    [--el <EXTRA_KEY> <EXTRA_LONG_VALUE> ...]
    [--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE> ...]
    [--eu <EXTRA_KEY> <EXTRA_URI_VALUE> ...]
    [--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>]
    [--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]
        (mutiple extras passed as Integer[])
    [--eial <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]
        (mutiple extras passed as List<Integer>)
    [--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]
        (mutiple extras passed as Long[])
    [--elal <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]
        (mutiple extras passed as List<Long>)
    [--efa <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]
        (mutiple extras passed as Float[])
    [--efal <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]
        (mutiple extras passed as List<Float>)
    [--esa <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]]
        (mutiple extras passed as String[]; to embed a comma into a string,
         escape it using "\,")
    [--esal <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]]
        (mutiple extras passed as List<String>; to embed a comma into a string,
         escape it using "\,")
codechachaCopyright ©2019 codechacha