android - 'adb shell start/stop' 有什么作用?

标签 android adb

问题

adb shell startadb shell stop 实际上是做什么的?

说明

我认为他们调用 /system/bin/start/system/bin/stop。但是这两个可执行文件没有提供任何关于它们做什么的线索。在真机上测试时,我发现zygote进程启动和停止。所以这两个命令似乎控制着Android运行时(对应下图中的黄色和蓝色部分)。

Android Architecture

但是究竟哪些进程/服务是用这两个命令启动/停止的?

最佳答案

基本上,您的所有 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/

相关文章:

android - 这个png文件到底有什么问题?

java - 异常 java.lang.NoClassDefFoundError : com. google.android.gms.common.AccountPicker

android - 在手机上更改设置或执行任务的 adb shell 命令

安卓开发: ddms from command line not seeing devices

android - AMQP 或 MQTT 我可以选择哪个?

iphone - 如何将图像拆分为适用于 iPhone、Android 或 Rails 的较小矩形?

android - 适用于 Android 的 Facebook SDK 抛出 ClassNotFound 异常

android - 远程重启离线 Android 设备

android - 我可以将任何安卓设备与 ubuntu 连接吗?

docker - 如何从另一个 docker 容器使用在 docker 容器上运行的模拟器?