android debug dumpsys

1,查看当前系统的service

A:adb shell dumpsys    //仅打印包名

B:adb shell service list   //打印所有service及各自对应包名

2,查看指定service信息,如adb shell dumpsys cpuinfo,adb shell dumpsys activity、dumpsys meminfo com.tencent.mobileqq等,如有需要可以-h查询参考;

3,dumpsys的实现

dumpsys其实是一个很小的native可执行程序,code位置在:frameworks/native/cmds/dumpsys/下

其实现比较简单,

A:就是首先通过binderCall向ServiceManager查询service;

B:再次确认该service是否alive(接口checkService());

C:若alive,通过binder调用dump方法,dump即是一个binderCall,然后服务端会执行。注意此dump会传入一个fd用于写入dump的log,此处固定为STDOUT_FILENO,即标准输出



猜你喜欢

转载自blog.csdn.net/zkuili/article/details/80283113