我想知道究竟是怎样的
adb shell dumpsys
工作以及如何在AOSP中实施。 到目前为止,我的理解是大多数系统服务都实现了
@Override
public void dump()
功能和使用。但是哪个java类拥有这个@Override指向的函数?
答案 0 :(得分:-1)
当调用adb shell dumpsys
时,会执行本机dumpsys二进制文件,要求IServiceManager
列出所有系统服务(Android内置的服务)和在每个上调用IBinder#dump(FileDescriptor fd, String[] args)
方法,FileDescriptor设置为STDOUT
。有关详细信息,请参阅平台中的dumpsys.cpp
。
当使用adb shell dumpsys activity service <yourservicename>
时,它会在ActivityManagerService
上使用参数service <yourservicename>
调用上面提到的相同转储方法,然后将转储请求传递给您的服务(如果它正在运行)致电Service#dump(FileDescriptor fd, PrintWriter writer, String[] args)
。