问题
adb shell start
和 adb shell stop
实际上是做什么的?
说明
我认为他们调用 /system/bin/start
和 /system/bin/stop
。但是这两个可执行文件没有提供任何关于它们做什么的线索。在真机上测试时,我发现zygote进程启动和停止。所以这两个命令似乎控制着Android运行时(对应下图中的黄色和蓝色部分)。
但是究竟哪些进程/服务是用这两个命令启动/停止的?
最佳答案
基本上,您的所有 Android 服务都会重新启动;在 SystemServer.java
中创建和注册的那些。这在“Zygote 的上下文”中被调用。所以是的,Zygote 已停止。
您在 Android 中使用 ServiceManager
注册的所有服务都将在 ServiceManager
中删除。要重新启动它们,请执行 adb shell start
。
还要注意SystemServer
是Zygote启动的,所以init.rc
告诉如果Zygote停止了,那么连SystemServer
也必须停止.甚至 SurfaceFlinger
也会死掉,因为它是从 SystemServer
开始的,但是是原生的。
关于android - 'adb shell start/stop' 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13225817/