android adb c9,Android通过adb shell命令查看当前与用户交互的前台Activity

Android通过adb shell命令查看当前与用户交互的前台Activity

前言

好久没有写点实战类型的博客了,最近一直都在捣鼓源码分析的,是时候来点实战类型的博客了。在Android的实际开发或者项目支持的时候,不知道小伙们有没有遇到过这种情况需要定位到某一个界面的Activity信息,虽然借着Android的IDE工具可以做到,但是有时候我们希望能有更快的方法能定位到这个界面信息,这个时候adb shell命令的强大就体现出来了。来我们实操一把!

注意:本次实际操作是基于Android 8 版本终端进行,其它版本Android可能有所差异!

一.实战开始

既然这是一篇实战,也没有过多的好说了,没有花拳绣腿的,得上真家伙。这里都是借助的一个Android内置终端命令dumpsys来操作的,关于dumpsy大伙可以参见AMS之dumpsys篇。

方案一

直接执行如下命令:

adb shell dumpsys activity activities | sed -En -e '/Running activities/,/Run #0/p'

见证奇迹的时刻到了,让我们见证一下,输出信息简单明了,列出的是你打开的所有页面,而顺序是以最近打开为先进行排序的,其中TaskRecord为查询到的记录,然后紧跟着该记录显示出包名和对应的Activity名

Running activities (most recent first):

TaskRecord{c9e9ecb #82 A=com.android.deskclock U=0 StackId=1 sz=1}

Run #0: ActivityRecord{cb1be5c u0 com.android.deskclock/.DeskClock t82}

Running activities (most recent first):

TaskRecord{195f930 #78 I=com.android.launcher3/.Launcher U=0 StackId=0 sz=1}

Run #0: ActivityRecord{3ef71d8 u0 com.android.launcher3/.Launcher t78}

Running activities (most recent first):

TaskRecord{feda6a8 #81 A=com.android.systemui U=0 StackId=5 sz=1}

Run #0: ActivityRecord{30d91fc u0 com.android.systemui/.recents.RecentsActivity t81}

方案二

没有过多好说的,直接执行如下命令:

adb shell dumpsys activity | grep -i run

见证奇迹的时刻到了,让我们见证一下,输出信息简单明了,列出的是你打开的所有页面,而顺序是以最近打开为先进行排序的。

service_reset_run_duration=60000

Running activities (most recent first):

Run #1: ActivityRecord{cb1be5c u0 com.android.deskclock/.DeskClock t82}

Run #0: ActivityRecord{da6223d u0 com.android.gallery3d/.app.GalleryActivity t83}

Running activities (most recent first):

Run #0: ActivityRecord{3ef71d8 u0 com.android.launcher3/.Launcher t78}

Running activities (most recent first):

Run #0: ActivityRecord{30d91fc u0 com.android.systemui/.recents.RecentsActivity t81}

ACTIVITY MANAGER RUNNING PROCESSES (dumpsys activity processes)

User #0: state=RUNNING_UNLOCKED

方案三

没有过多好说的,直接执行如下命令:

adb shell dumpsys activity top | grep ACTIVITY

见证奇迹的时刻到了,让我们见证一下,输出信息简单明了,列出的是你打开的页面,这里有点相反,是以倒序方式排序的。

ACTIVITY com.android.systemui/.recents.RecentsActivity 30d91fc pid=873

ACTIVITY com.android.launcher3/.Launcher 3ef71d8 pid=1397

ACTIVITY com.android.deskclock/.DeskClock cb1be5c pid=1942

小结

好了。Android通过adb shell命令查看当前与用户交互的前台Activity就告一段落了。这里我没有过多好说的,我只想说一句dumpsys是一个好命令,值得你拥有,因为越用你会越发现这个工具太强大了,真是是强烈推荐Android开发的小伙们一定要常用该命令,因为他值得优秀的你拥有。欢迎小伙们点赞或者关注,谢谢!

本文分享 CSDN - IT先森。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值