web-dev-qa-db-ja.com

Android ADBツールを使用してアプリケーションを起動する方法

AndroidのADBツールを使用してインテントを送信する方法

409
Sean
adb Shell
am start -n com.package.name/com.package.name.ActivityName

あるいは、これを直接使うこともできます。

adb Shell am start -n com.package.name/com.package.name.ActivityName

あなたの意図フィルターでフィルターするアクションを指定することもできます。

am start -a com.example.ACTION_NAME -n com.package.name/com.package.name.ActivityName 
556
Cristian

次のパターンに従って、 monkey toolのみを使用してパッケージ名を指定してアプリケーションを実行することができます。

adb Shell monkey -p your.app.package.name -c Android.intent.category.LAUNCHER 1

コマンドは、アプリケーション用のランダム入力を生成するモンキーツールを使用してアプリを実行するために使用されます。 commandの最後の部分は、app用に生成されたランダム入力の数を指定する整数です。この場合、番号は1で、実際にはアプリの起動に使用されます(アイコンクリック)。

250
Michal

または、これを使うことができます:

adb Shell am start -n com.package.name/.ActivityName
117
Joilnen

linux/macユーザーは、次のようなものを使ってapkを実行するスクリプトを作成することもできます。

次の3行で「adb-run.sh」という名前のファイルを作成します。

pkg=$(aapt dump badging $1|awk -F" " '/package/ {print $2}'|awk -F"'" '/name=/ {print $2}')
act=$(aapt dump badging $1|awk -F" " '/launchable-activity/ {print $2}'|awk -F"'" '/name=/ {print $2}')
adb Shell am start -n $pkg/$act

それから "chmod + x adb-run.sh"を実行可能にします。

今、あなたは簡単にできる:

adb-run.sh myapp.apk

ここでの利点は、あなたがパッケージ名や起動可能なアクティビティ名を知る必要がないということです。同様に、 "adb-uninstall.sh myapp.apk"を作成することができます。

注:これには、あなたがあなたのパスにaaptを持っていることが必要です。 SDKの新しいビルドツールフォルダにあります。

58
dljava

また、もう1つ触れたいことがあります。

adb Shell amからアプリケーションを起動すると、自動的にFLAG_ACTIVITY_NEW_TASKフラグが追加されますによって動作が変わります。 code を参照してください。

たとえば、adb Shell amからPlayストアアクティビティを起動した場合、 'Back'ボタン(ハードウェアの戻るボタン)を押してもアプリは表示されず、代わりに以前のPlayストアアクティビティが表示されます。 Playストアのタスクがなかった場合は、それはあなたのアプリになります)。 FLAG_ACTIVITY_NEW_TASKドキュメント

現在開始しているアクティビティに対してタスクがすでに実行されている場合、新しいアクティビティは開始されません。代わりに、現在のタスクは単にそれが最後になったときの状態で画面の前面に表示されます。

これは私が何が悪かったのかを見つけるために数時間を費やすことになりました。

そのため、adb Shell amFLAG_ACTIVITY_NEW_TASKフラグを追加を念頭に置いてください。

18
김준호

アプリケーションの種類を知り、それにデータを入れることでアプリケーションを起動することもできます。

adb Shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a Android.intent.action.VIEW

このコマンドは、 sample.3gp fileを再生するために使用可能なビデオプレーヤーを表示します。

15

〜/ .bash_profile を開き、これらのbash関数をファイルの末尾に追加します。

function androidinstall(){
   adb install -r ./bin/$1.apk
}
function androidrun(){
   ant clean debug
   adb Shell am start -n $1/$1.$2
}

その後、Androidプロジェクトフォルダを開きます

androidinstall app-debug && androidrun com.example.app MainActivity
14
AbdullahDiaa

ステップ1:まず、以下を使用して、あなたのデバイスにインストールされているアプリのすべてのパッケージ名を取得します。

adb Shell pm list packages

ステップ2:あなたはすべてのパッケージ名、 copy 、あなたがadbを使い始めたいものを得るでしょう。

ステップ3:下記のコマンドであなたの希望するパッケージ名を追加してください。

adb Shell monkey -p 'your package name' -v 500

例えば:
adb Shell monkey -p com.estrongs.Android.pop -v 500はEs Explorerを起動します。

7
Tushar Pandey

開発ボード用のmonkey --pct-syskeys 0

この議論がなければ、アプリはキーやディスプレイがなければ開発ボード上で開くことはありません。

adb Shell monkey --pct-syskeys 0 -p com.cirosantilli.Android_cheat.textviewbold 1

そしてエラーで失敗します:

SYS_KEYS has no physical keys but with factor 2.0%

HiKey 960、Android O AOSPでテスト済み。

から学びました: https://github.com/ARM-software/Lisa/pull/408

monkey test:Androidシステムに物理キーがない場合、コマンドに含める必要があるパラメータは何ですか

これを試してください。Androidの写真アプリを開き、特定の画像ファイルをパラメータとして開くためです。

adb Shell am start -n com.google.Android.apps.photos/.home.HomeActivity -d file:///mnt/user/0/primary/Pictures/Screenshots/Screenshot.png

それは最新のAndroid上で動作します、あなたがあなたの画像を開きたい特定のアプリを与えているときにポップアップが開くアプリケーションを選択するようになることはありません

0
Varun Sharma
adb Shell am start -n '<appPackageName>/.<appActitivityName>

例:

adb Shell am start -n 'com.Android.settings/.wifi.WifiStatusTest'

APK-INFOアプリケーションを使用して、各Appパッケージに関するAppアクティビティのリストを知ることができます。

0
ImSaleem