2

私のプロジェクトでは、次のことを行う必要があります。

  1. adb getevent コマンドからデバイス タッチ イベントを取得します。
  2. 同時に、アプリケーション アクティビティ コールの情報を収集するものを見つける必要があります。

私の目標は、特定のアプリでアクティビティに変化があるかどうかをタッチするたびに調べ、そのアクティビティを検出することです。

そのため、(x,y) 位置でのタッチが発生するたびに getevent が報告され、その位置にボタンがある場合、アプリでアクティビティの変更が呼び出される可能性があるため、新しいアクティビティへの変更を検出する必要があります。

これはどのように行うことができますか?何か案が?

4

1 に答える 1

2

Pythonスクリプトでこれを試すことができます:

from subprocess import call

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
device = MonkeyRunner.waitForConnection()

# These show the package name of the currently running package and 
# the current activity's action. 
device.getProperty('am.current.package')
device.getProperty('am.current.action')

monkeyrunner では、(x,y) 座標を使用してボタンをクリック/押すこともできます。

もう 1 つの方法は、logcat の出力でアクティビティの変更を確認することです。次のように表示されます:

後で編集:

「am.current.package」と「am.current.action」を使用して、アクティビティの変更を確認できます。以下を使用できます。

call('adb getevent', shell = True)  

クリック/タッチイベントをキャッチします。すべて同じスクリプトで。

于 2012-09-03T09:26:52.160 に答える