Android 系统内的守护进程 - main类服务(3) : installd

声明

  • 只要是操作系统,不用说的就是其中肯定会运行着一些很多守护进程(daemon)来完成很多杂乱的工作。通过系统中的init.rc文件也可以看出来,其中每个service中就包含着系统后台服务进程。
  • 而这些服务被分为:core类服务(adbd/servicemanager/healthd/lmkd/logd/vold)和main类服务;
  • main类服务又分为:网络类服务(netd/mdnsd/mtpd/rild)、图形及媒体类服务(surfaceflinger/bootanimation/mediaserver/drmserver)、其他类服务(installd/keystore/debuggerd/sdcard/Zygote)

1 功能概述

  代码所在位置:frameworks/native/cmds/installd
  installd 这个守护进程是负责安装或卸载 App 包的。不论你的 App 包是应用市场下载安装的,还是用adb install 安装的,最终都还是要调用 installd 。installd 守护进程本身,还是被动式的:它会去监听一个由 init 安装的socket,Android 框架产生的命令将由这个 socket 传递给它。在这个守护进程的/init.rc 中定义了这个socket,如下所示:

service installd /system/bin/installd
    class main
    socket installd stream 

你可能感兴趣的:(#,android,installd)