adb shell dumpsys 命令

来源:互联网 发布:淘宝新开店铺提取王 编辑:程序博客网 时间:2024/05/22 03:47

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 0
原创粉丝点击