PackageInstaller 只是提供了一个用户界面给用户来管理应用的安装。PackageInstaller 会调用一个叫 InstallAppProgress 的 Activity 来获得请求。 接下来,InstallAppProgress会与PackageManager服务进行交互,并通过 intalld 来安装文件。
installd是一个系统守护程序,使用管理员权限进行操作。通过Linux套接字 /dev/socket/installd 来获取来自 PackageManager 的请求。
安装完成后 PackageManager 会向系统广播事件 Intent.ACTION_PACKAGE_ADDED 或者 Intent.ACTION_PACKAGE_REPLACED