PMS 启动流程
1.在SystemServer中啟動PackageManagerService.main
2.newPackageManagerService()并添加到ServiceManager中
3.newinstaller(建立installer和installd的socket連接,最終在底層實現(xiàn)install,remove,dexopt等功能)
4.通過systemConfig獲取到xml文件中信息
5.創(chuàng)建PackageHandler Message Looper(安裝/卸載請求)
6.readPLW()(讀取data/system/packages.xml)
7.
檢查/system/etc/permissions/platform.xml中定制的library及/system/framework下的jar檔案是否需要dex提取進(jìn)行優(yōu)化。
若需要優(yōu)化,會調(diào)用installer.dexopt提取dex到/data/dalvik-cache中
8.調(diào)用scanDirLI掃描存放apk的各個目錄
9.系統(tǒng)應(yīng)用安裝—通過scanPackageLI逐一解析AndroidManifest.xml文件,建立每個apk的配置結(jié)構(gòu),并將apk配置信息添加到全局列表進(jìn)行管理。
10.調(diào)用writeLPr()從全局列表中將apk信息寫到packages.xml和packages.list中。
轉(zhuǎn)載于:https://www.cnblogs.com/ganchuanpu/p/8384828.html
總結(jié)
- 上一篇: Ubuntu 下 图形化磁盘管理工具
- 下一篇: 房地产里有多少“三季人”?