1. 什么是apk文件
(1)定義:APK是Android Package Kit的縮寫,即Android安裝包。APK文件其實(shí)是zip格式,但后綴名被修改為apk,通過UnZip解壓后,可以看到Dex文件,Dex是 Dalvik VM executes的全稱,即Android Dalvik執(zhí)行程序,并非Java ME的字節(jié)碼而是Dalvik字節(jié)碼。APK文件結(jié)構(gòu)為:
(2)機(jī)制:Android在運(yùn)行一個(gè)程序時(shí)首先需要UnZip,再通過dexdump命令可以反編譯,這樣做對(duì)于程序的保密性和可靠性不是很高但符合發(fā)展規(guī)律。Dalvik Vm的執(zhí)行文件被打包為apk格式,最終運(yùn)行時(shí),加載器會(huì)解壓apk并獲取編譯后的androidmanifest.xml文件中的permission 中相關(guān)的安全訪問。
(3)root權(quán)限與簽名:如果你將apk文件傳到/system/app文件夾下會(huì)發(fā)現(xiàn)執(zhí)行是不受限制的,android rom中系統(tǒng)的apk文件默認(rèn)會(huì)放入這個(gè)文件夾,它們擁有著root權(quán)限。但第三方程序并不是安放在這個(gè)文件夾的。
2. apk的打包
在Eclipse中,編譯好的android project,在該project的bin目錄下會(huì)自動(dòng)生成一個(gè)apk文件,與J2ME不同,無需手動(dòng)打包。只要代碼有改動(dòng)就自動(dòng) build,build出來的apk是簽過名的,也可以在project右鍵菜單的Andoid Tools菜單下export簽名的或未簽名的apk。
3. 將apk安裝到android simulator中
4. 將apk安裝到android mobile中
聯(lián)系客服