AndroidのADBツールを使用してインテントを送信する方法
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
次のパターンに従って、 monkey toolのみを使用してパッケージ名を指定してアプリケーションを実行することができます。
adb Shell monkey -p your.app.package.name -c Android.intent.category.LAUNCHER 1
コマンドは、アプリケーション用のランダム入力を生成するモンキーツールを使用してアプリを実行するために使用されます。 commandの最後の部分は、app用に生成されたランダム入力の数を指定する整数です。この場合、番号は1で、実際にはアプリの起動に使用されます(アイコンクリック)。
または、これを使うことができます:
adb Shell am start -n com.package.name/.ActivityName
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の新しいビルドツールフォルダにあります。
また、もう1つ触れたいことがあります。
adb Shell am
からアプリケーションを起動すると、自動的にFLAG_ACTIVITY_NEW_TASKフラグが追加されますによって動作が変わります。 code を参照してください。
たとえば、adb Shell am
からPlayストアアクティビティを起動した場合、 'Back'ボタン(ハードウェアの戻るボタン)を押してもアプリは表示されず、代わりに以前のPlayストアアクティビティが表示されます。 Playストアのタスクがなかった場合は、それはあなたのアプリになります)。 FLAG_ACTIVITY_NEW_TASKドキュメント
現在開始しているアクティビティに対してタスクがすでに実行されている場合、新しいアクティビティは開始されません。代わりに、現在のタスクは単にそれが最後になったときの状態で画面の前面に表示されます。
これは私が何が悪かったのかを見つけるために数時間を費やすことになりました。
そのため、adb Shell am
FLAG_ACTIVITY_NEW_TASKフラグを追加を念頭に置いてください。
アプリケーションの種類を知り、それにデータを入れることでアプリケーションを起動することもできます。
adb Shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a Android.intent.action.VIEW
このコマンドは、 sample.3gp fileを再生するために使用可能なビデオプレーヤーを表示します。
〜/ .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
ステップ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を起動します。
開発ボード用の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でテスト済み。
これを試してください。Androidの写真アプリを開き、特定の画像ファイルをパラメータとして開くためです。
adb Shell am start -n com.google.Android.apps.photos/.home.HomeActivity -d file:///mnt/user/0/primary/Pictures/Screenshots/Screenshot.png
それは最新のAndroid上で動作します、あなたがあなたの画像を開きたい特定のアプリを与えているときにポップアップが開くアプリケーションを選択するようになることはありません
adb Shell am start -n '<appPackageName>/.<appActitivityName>
例:
adb Shell am start -n 'com.Android.settings/.wifi.WifiStatusTest'
APK-INFOアプリケーションを使用して、各Appパッケージに関するAppアクティビティのリストを知ることができます。