什么是 PackageManagerService ?
PackageManagerService 是 android 系統(tǒng)中一個核心的服務(wù)之一。他負(fù)責(zé)應(yīng)用程序的 安裝、卸載、還有應(yīng)用程序的查詢、以及應(yīng)用程序的一些信息管理。相當(dāng)于應(yīng)用程序的一個大管家。

PackageManagerService 類關(guān)系圖

apk安裝原理
apk安裝分為有界面安裝 和 靜默安裝
有界面安裝
當(dāng)用戶點擊安裝app按鈕時,會調(diào)起 PackageInstallerActivity 因為配置了一組 intent filter 過濾器,如下圖

當(dāng)用戶點擊安裝按鈕時,會跳轉(zhuǎn)到另外一個叫做 InstallAppProgress 的 Activity,在這個 Activity 通過 Handler 監(jiān)聽 App 的安裝成功或者失敗,并且更新 App 的狀態(tài)。
靜默安裝
相比有界面的安裝,無界面的安裝方式要復(fù)雜的多,內(nèi)部調(diào)用從 C 開始執(zhí)行的
-adb_commandline


Apk安裝原理
