? ? ?應(yīng)用安裝是智能機(jī)的主要特點(diǎn)颖御,即用戶可以把各種應(yīng)用(如游戲等)安裝到手機(jī)上榄棵,并可以對(duì)其進(jìn)行卸載等管理操作。APK是AndroidPackage的縮寫(xiě)潘拱,即Android安裝包疹鳄。APK是類似Symbian Sis或Sisx的文件格式。通過(guò)將APK文件直接傳到Android模擬器或Android手機(jī)中執(zhí)行即可安裝芦岂。
Android應(yīng)用安裝有如下四種方式
1.系統(tǒng)應(yīng)用安裝――開(kāi)機(jī)時(shí)完成瘪弓,沒(méi)有安裝界面
2.網(wǎng)絡(luò)下載應(yīng)用安裝――通過(guò)market應(yīng)用完成,沒(méi)有安裝界面
3.ADB工具安裝――沒(méi)有安裝界面禽最。
4.第三方應(yīng)用安裝――通過(guò)SD卡里的APK文件安裝腺怯,有安裝界面,由packageinstaller.apk應(yīng)用處理安裝及卸載過(guò)程的界面川无。
應(yīng)用安裝的流程及路徑 ? 應(yīng)用安裝涉及到如下幾個(gè)目錄:
system/app? 系統(tǒng)自帶的應(yīng)用程序呛占,無(wú)法刪除
data/app ? ? ? 用戶程序安裝的目錄,有刪除權(quán)限懦趋。安裝時(shí)把a(bǔ)pk文件復(fù)制到此目錄
data/data ? ? ? ?存放應(yīng)用程序的數(shù)據(jù)
Data/dalvik-cache ? ? ?將apk中的dex文件安裝到dalvik-cache目錄下(dex文件是dalvik虛擬機(jī)的可執(zhí)行文件,其大小約為原始apk文件大小的四分之 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 一)
安裝過(guò)程:復(fù)制APK安裝包到data/app目錄下晾虑,解壓并掃描安裝包,把dex文件(Dalvik字節(jié)碼)保存到dalvik-cache目錄仅叫,并data/data目錄下創(chuàng)建對(duì)應(yīng)的應(yīng)用數(shù)據(jù)目錄帜篇。
卸載過(guò)程:刪除安裝過(guò)程中在上述三個(gè)目錄下創(chuàng)建的文件及目錄。
AMS,WMS,PMS原理分析
1诫咱、AMS:ActivityManagerService
ActivityManagerService?mActivityManagerService=mSystemServiceManager.startService(ActivityManagerService.Lifecycle.class).getService();這是通過(guò)SystemServiceManager這樣一個(gè)模板類來(lái)創(chuàng)建運(yùn)行在SystemServer中的Framework服務(wù);并將創(chuàng)建的服務(wù)統(tǒng)一保存在隊(duì)列管理坠狡,會(huì)涉及到多用戶切換。
參考資料詳解:http://www.cnblogs.com/sunkeji/articles/7650482.html
2遂跟、PMS:PackageManagerService
? ? ? 了解了Android系統(tǒng)的啟動(dòng)過(guò)程的讀者應(yīng)該知道,Android的所有Java服務(wù)都是通過(guò)SystemServer進(jìn)程啟動(dòng)的,并且駐留在SystemServer進(jìn)程中幻锁。SystemServer進(jìn)程在啟動(dòng)時(shí)凯亮,通過(guò)創(chuàng)建一個(gè)ServerThread線程來(lái)啟動(dòng)所有服務(wù),本文主要介紹Android服務(wù)中PackageManagerService服務(wù)啟動(dòng)過(guò)程哄尔。首先介紹一些PackageManagerService服務(wù)下的相關(guān)類關(guān)系圖:
參考資料詳解:http://www.cnblogs.com/sunkeji/articles/7651925.html
3假消、WMS:WindowManagerService
? ? ??