我试图找到一些方法从shell中杀死Android中不必要的服务/进程。 问题是,在杀死进程后,它会在几秒钟后重新启动!
例如我试图杀死电池警告,但它会继续重新开始:
perror()
我确实在以下链接中找到了几种杀死服务/进程的方法,但该过程又重新开始。
Android ADB stop application command like "force-stop" for non rooted device
是否只能在init.rc中完成?
谢谢,
答案 0 :(得分:2)
此服务可能以STICKY开头 - 在预定义超时后,操作系统会自动重启。
您可以通过从设备中提取logcat并使用您尝试杀死的服务名称来搜索它来检查它:
$ adb logcat -d > logcat.txt
$ grep -C 5 -i batterywarning logcat.txt
如果您看到scheduling restart of crashed service in X seconds
行的内容,那么您确定操作系统正在重新启动该服务。
如果情况确实如此,我怀疑你可以在非root设备上完全杀死它(我不知道如何在root设备上实现这一点)。
答案 1 :(得分:0)
拥有进程名称时杀死一个进程(基本上不必搜索'ps'以获得进程ID,然后使用PID杀死它):
adb shell杀死$(pidof com.android.phone)
答案 2 :(得分:0)
从终端使用以下命令:
adb shell am crash [applicationId]