什麼是APK文件?他和android手機是什麼關係?

什麼是APK文件?他和android手機是什麼關係?

APK是Android Package的縮寫,即Android安裝包。APK是類似Symbian Sis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。

APK文件其實是zip格式,但後綴名被修改爲apk,通過UnZip解壓後,可以看到Dex文件,Dex是Dalvik VM executes的全稱,即Android Dalvik執行程序,並非Java ME的字節碼而是Dalvik字節碼。

一個APK文件結構爲:
mete-INF/   Jar文件中常可以看到
res/ 存放資源文件的目錄
AndroidManifest.xml  程序全局配置文件
classes.dex Dalvik字節碼
resources.arsc 編譯後的二進制資源文件

總結下我們發現Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows Mobile中的PE文件有區別,這樣做對於程序的保密性和可靠性不是很高,通過dexdump命令可以反編譯,但這樣做符合發展規律,微軟的 Windows Gadgets或者說WPF也採用了這種構架方式。

在Android平臺中dalvik vm的執行文件被打包爲apk格式,最終運行時加載器會解壓然後獲取編譯後的androidmanifest.xml文件中的permission分支相關的安全訪問,但仍然存在很多安全限制,如果你將apk文件傳到/system/app文件夾下會發現執行是不受限制的。最終我們平時安裝的文件可能不是這個文件夾,而在android rom中系統的apk文件默認會放入這個文件夾,它們擁有着root權限

轉載http://sjbbs.zol.com.cn/1/33672_143.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章