百科解釋
APK是Android Package的縮寫,即Android安裝包。APK是類似Symbian Sis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機(jī)中執(zhí)行即可安裝。 APK文件其實(shí)是zip格式,但后綴名被修改為apk,通過UnZip解壓后,可以看到Dex文件,Dex是Dalvik VM executes的全稱,即Android Dalvik執(zhí)行程序,并非Java ME的字節(jié)碼而是Dalvik字節(jié)碼。 一個APK文件結(jié)構(gòu)為: mete-INF Jar文件中常可以看到 res 存放資源文件的目錄 AndroidManifest.xml 程序全局配置文件 classes.dex Dalvik字節(jié)碼 resources.arsc 編譯后的二進(jìn)制資源文件 總結(jié)下我們發(fā)現(xiàn)Android在運(yùn)行一個程序時首先需要UnZip,然后類似Symbian那樣直接,和Windows Mobile中的PE文件有區(qū)別,這樣做對于程序的保密性和可靠性不是很高,通過dexdump命令可以反編譯,但這樣做符合發(fā)展規(guī)律,微軟的 Windows Gadgets或者說WPF也采用了這種構(gòu)架方式。 在Android平臺中dalvik vm的執(zhí)行文件被打包為apk格式,最終運(yùn)行時加載器會解壓然后獲取編譯后的androidmanifest.xml文件中的permission分支相關(guān)的安全訪問,但仍然存在很多安全限制,如果你將apk文件傳到/system/app文件夾下會發(fā)現(xiàn)執(zhí)行是不受限制的。最終我們平時安裝的文件可能不是這個文件夾,而在android rom中系統(tǒng)的apk文件默認(rèn)會放入這個文件夾,它們擁有著root權(quán)限。
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助