?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開發的小伙們一定要常用該命令,因為他值得優秀的你擁有,歡迎小伙們點贊或者關注,謝謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/7905.html
標籤:其他
