Android dumpsys batteryinfo与Android dumpsys batterystats的区别

4

有人能告诉我adb shell dumpsys的内部工作原理吗?我想这个命令会以某种方式读取/proc文件系统,但这只是我的理解。

似乎在android sdk 19及以上版本中,以下命令不受支持-

adb shell dumpsys batteryinfo

它已被替换为

adb shell dumpsys batterystats

我想知道是否有任何文档(链接)可用,可以找到关于此的详细信息。


回答完下面的问题后,我搜索了服务名称的更改,并找到了这个之前的SO答案:https://dev59.com/2Wgu5IYBdhLWcg3wnYPo?rq=1。Joe的回答有额外的细节,我建议您仔细阅读。 - GeekyDeaks
我假设只有在Kitkat及以后的版本中才有“adb shell dumpsys batterystats”这个命令,对吗? - android developer
1
@androiddeveloper 是的,在Kitkat中是“adb shell dumpsys batterystats”,而在JB和早期版本中是“adb shell dumpsys batteryinfo”。 - darthvading
@darthvading 谢谢。你知道怎么从输出中读取特定应用程序的电池消耗吗?我尝试过这样做,但我的计算结果与官方的电池信息屏幕上的不匹配。如果你知道答案,请在这里写下来:http://stackoverflow.com/questions/23312038/ - android developer
1个回答

2
如果您查看dumpsys的源代码,您会发现它只是从默认服务管理器请求服务实例,然后调用服务dump()方法(这是IBinder的一个接口),并传递STDOUT和命令行参数:
sp<IServiceManager> sm = defaultServiceManager();
...
sp<IBinder> service = sm->checkService(services[i]);
...
int err = service->dump(STDOUT_FILENO, args); 

在您上面的例子中,该服务似乎已从batteryinfo重命名为batterystats

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接