adb shell dumpsys 命令

Android has an interesting command called dumpsys  to dump some system information. Even described on adb manual  I think that some points should be reinforced. In order to get the complete status just run (will produce a large output):

adb shell dumpsys

Also you can apply filters to running services:

1 SurfaceFlinger

2 accessibility

3 account

4 activity

5 alarm

6 appwidget

7 audio

8 backup

9 battery

10 batteryinfo

11 bluetooth

12 bluetooth_a2dp

13 clipboard

14 connectivity

15 content

16 cpuinfo

17 device_policy

18 devicestoragemonitor

19 diskstats

20 dropbox

21 entropy

22 ethernet

23 hardware

24 input_method

25 iphonesubinfo

26 isms

27 keybar

28 location

29 media.audio_flinger

30 media.audio_policy

31 media.camera

32 media.player

33 meminfo

34 mount

35 netstat

36 network_management

37 notification

38 package

39 permission

40 phone

41 power

42 search

43 sensorservice

44 simphonebook

45 statusbar

46 telephony.registry

47 throttle

48 uimode

49 usagestats

50 vibrator

51 wallpaper

52 wifi

53 window

Some examples:

adb shell dumpsys wifi
adb shell dumpsys cpuinfo

I suggest you try other items on the list above and be creative using all the power of Unix pipes. Example, to get all memory allocated by each process you can do something like:

adb shell dumpsys meminfo | grep "allocated:" | awk '{total = total + $5}END{print total}'
 
adb shell dumpsys activity>d:\123.txt
还可以使用管道命令:
adb shell dumpsys activity|more
adb shell dumpsys activity|find "Running activities"
可以查看任务栈信息:

  Running activities (most recent first):

    TaskRecord{4079cc08 #14 A android.task.music}

      Run #4: HistoryRecord{40723730 com.android.music/.TrackBrowserActivity}

      Run #3: HistoryRecord{406dc9e0 com.android.music/.AlbumBrowserActivity}

    TaskRecord{406c1708 #2 A com.android.launcher}

      Run #2: HistoryRecord{406bff78 com.android.launcher/com.android.launcher2.Launcher}

    TaskRecord{40777cd0 #11 A android.task.mms}

      Run #1: HistoryRecord{406d0470 com.android.mms/.ui.ComposeMessageActivity}

      Run #0: HistoryRecord{406cf898 com.android.mms/.ui.ConversationList}

这个命令对看Android源代码也会有很大的帮助,因为可以看出当前手机屏幕的Activity的名称。

dumpsys简单介绍:该命令用户打印出当前系统信息,默认打印出所有service信息,可以在命令后面加入activity参数,只打印出activity相关的信息。

可跟参数有以下这些:

SurfaceFlinger, accessibility, account,activity, alarm, appwidget, audio, backup, battery, batteryinfo,bluetooth, bluetooth_a2dp, clipboard, connectivity, content,cpuinfo, device_policy, devicestoragemonitor, diskstats, dropbox,entropy, hardware, hdmi, input_method, iphonesubinfo, isms,location, media.audio_flinger, media.audio_policy, media.camera,media.player, meminfo, mount, netstat, network_management,notification, package, permission, phone, power, search, sensor,simphonebook, statusbar, telephony.registry, throttle, uimode,usagestats, vibrator, wallpaper, wifi, window

 

        在CMD下面输入以下命令:      

adb shell dumpsys activity

 

adb shell dumpsysactivity>activity.txt

“>activity.txt”是使用管道将信息打印的activity.txt中,再使用文本编辑器打开帮助我们更好的搜索和分析。

dumpsys的参数可以跟以上信息的名字。例如:

adb shell dumpsys activity显示activity相关的信息

adb shell dumpsys statusbar显示状态栏相关的信息

adb shell dumpsys meminfo $package_name or $pid 使用程序的包名或者进程id显示内存信息

可以通过这个命令实现很多有用的小应用,比如内存信息相关的,状态栏的通知都是哪个应用谈出来的等等。

我通过这个命令写了一个小应用”找出状态栏广告的主人“。普通通知很容易辨认是哪个应用的,广告就不好辨认了。

其实应用就相当于一条shell命令:

adb shell dumpsys statusbar | grep notification=Notification

这条命令可以找出状态栏通知的包名,进而找到是哪个应用。

这个点子来自:http://www.maxhis.info/archives/731

只是我把它做成了手机上应用。需要注意的是这个应用需要root权限才能执行!

还有很多可以做的,找住对你有用的吧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值