首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android中使用adb shell了解服务是否正在运行

如何在android中使用adb shell了解服务是否正在运行
EN

Stack Overflow用户
提问于 2012-06-05 19:38:36
回答 5查看 103.9K关注 0票数 54

我想知道媒体播放器服务(在设备启动时注册到media.player )是否正在使用adb shell运行。有可能吗?

我尝试运行ps命令,但没有成功。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-06-05 21:22:33

尝试命令行

adb shell service list

我得到了一个服务名称和它们的包名的列表。

票数 73
EN

Stack Overflow用户

发布于 2016-12-20 14:23:45

如前所述,adb shell service list将只列出系统服务。

Android Emulator: How can I get a list of services that are running中所述,您可以使用查找由应用程序创建的服务

代码语言:javascript
复制
// List all services
adb shell dumpsys activity services

// List all services containing "myservice" in its name
adb shell dumpsys activity services myservice

如果它返回了什么,则表示该服务已安装。要了解服务当前是否已启动或停止,请分别查找app=ProcessRecord(...)app=null

你也可以用Linux风格的简单的

代码语言:javascript
复制
ps | grep myservice

在你的壳里面。

票数 83
EN

Stack Overflow用户

发布于 2014-06-13 23:29:32

要简单地检查特定服务是否正在运行,请使用:

代码语言:javascript
复制
adb shell service check <service>

例如,如果adb shell service check media.player正在运行,则返回Service media.player: found,否则返回Service media.player: not found

如果您需要更多详细信息,请尝试dumpsys <service>。例如,adb shell dumpsys media.player返回有关media.player的客户端、打开的文件等的信息。

最后,如果你真的需要调试的详细信息,可以试试adb shell dumpsys activity services,它从ActivityManager的角度显示了正在发生的事情。这包括意图、创建时间、最后活动时间、绑定等信息。如果你想存储输出供以后查看/搜索,你可以重定向输出。它通常相当长。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10896629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档