如何将android活动更改与adb getevent命令联系起来?

时间:2012-08-31 18:04:21

标签: android android-ndk android-activity adb

对于我的项目,我需要做以下事情,

  1. 从adb getevent命令获取设备触摸事件。
  2. 同时我需要找到收集应用程序活动调用信息的内容。
  3. 我的目标是找出每个触控信息,如果特定应用中的活动发生变化,请检测该活动。

    因此,每当触摸(x,y)位置发生getevent报告时,现在如果该位置上有一个按钮,它可能会调用应用程序中的活动更改,因此我需要检测对新活动的更改。

    如何做到这一点?任何想法?

1 个答案:

答案 0 :(得分: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)坐标单击/按下按钮。

另一种方法是查看logcat输出中的活动更改。它应该如下所示:显示com.android.gallery3d / .app.MovieActivity为什么要从画廊播放视频文件。

稍后编辑:

您可以使用'am.current.package'和'am.current.action'来查看活动中的更改。您可以使用:

call('adb getevent', shell = True)  

捕捉点击/触摸事件。全部都在同一个剧本中。