apk是什么文件、Android文件中怎么反編譯?
apk即Android安裝包,通過(guò)將APK文件直接傳到Android模擬器或Android手機(jī)中執(zhí)行即可安裝。安卓Android的軟件安裝包以.apk為文件擴(kuò)展名,其文件格式是標(biāo)準(zhǔn)的.zip文件,可以通過(guò)WinZIP、winrar等壓縮文件工具直接打開(kāi),或是在.apk文件名上添加.zip后綴,即可查看封裝在其中的具體文件內(nèi)容,包括程序、圖片、配置文件等。apk文件和sis一樣,把a(bǔ)ndroid sdk編譯的工程打包成一個(gè)安裝程序文件,格式為apk。 APK文件其實(shí)是zip格式,但后綴名被修改為apk,通過(guò)UnZip解壓后,可以看到Dex文件,Dex是Dalvik VM executes的全稱,即Android Dalvik執(zhí)行程序,并非Java ME的字節(jié)碼而是Dalvik字節(jié)碼。Android在運(yùn)行一個(gè)程序時(shí)首先需要UnZip,然后類(lèi)似Symbian那樣直接,和Windows Mobile中的PE文件有區(qū)別。
安裝安卓軟件INSTALL_FAILED_CPU_ABI_INCOMPATIBLE的解決方法
具體方法如下:
安裝apk文件到模擬器或者手機(jī)上時(shí)報(bào):Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE這個(gè)錯(cuò)誤,Google下說(shuō)是由于引用了其他非android的sdk編譯環(huán)境編譯的二進(jìn)制代碼導(dǎo)致的,然后就把引用的jar換成android環(huán)境編譯導(dǎo)出,但是還是報(bào)錯(cuò),最后發(fā)現(xiàn)是因?yàn)橐玫膉ar文件里的lib目錄里還引用其他jar導(dǎo)致,把lib里的jar拿出來(lái)放到項(xiàng)目的buildpath里即可解決,不要引用的jar里再嵌套引用jar那樣就會(huì)有報(bào)錯(cuò)。
如果因?yàn)橐玫膉ar文件里的lib目錄里還引用其他jar導(dǎo)致,把lib里的jar拿出來(lái)放到項(xiàng)目的buildpath里即可解決,不要引用的jar里再嵌套引用jar那樣就會(huì)有報(bào)錯(cuò)。
Android反編譯
一、Apk反編譯得到Java源代碼
下載上述反編譯工具包,打開(kāi)apk2java目錄下的dex2jar-0.0.9.9文件夾,內(nèi)含apk反編譯成java源碼工具,以及源碼查看工具。
apk反編譯工具dex2jar,是將apk中的classes.dex轉(zhuǎn)化成jar文件
源碼查看工具jdgui,是一個(gè)反編譯工具,可以直接查看反編譯后的jar包源代碼。
具體步驟:
首先將apk文件后綴改為zip并解壓,得到其中的classes.dex,它就是java文件編譯再通過(guò)dx工具打包而成的,將classes.dex復(fù)制到dex2jar.bat所在目錄dex2jar-0.0.9.9文件夾。
在命令行下定位到dex2jar.bat所在目錄,運(yùn)行
dex2jar.bat classes.dex
生成
classes_dex2jar.jar
然后,進(jìn)入jdgui文件夾雙擊jd-gui.exe,打開(kāi)上面生成的jar包c(diǎn)lasses_dex2jar.jar,即可看到源代碼了,如下圖:
HelloAndroid源碼在反編譯前后的對(duì)照如下:
二、apk反編譯生成程序的源代碼和圖片、XML配置、語(yǔ)言資源等文件
如果是漢化軟件,這將特別有用
首先還是要下載上述反編譯工具包,其中最新的apktool,請(qǐng)到google code下載
apktool(google code)
具體步驟:
下載上述反編譯工具包,打開(kāi)apk2java目錄下的apktool1.4.1文件夾,內(nèi)含三個(gè)文件:aapt.exe,apktool.bat,apktool.jar
注:里面的apktool_bk.jar是備份的老版本,最好用最新的apktool.jar
在命令行下定位到apktool.bat文件夾,輸入以下命令:apktool.bat d -f abc123.apk abc123,如下圖:
上圖中,apktool.bat 命令行解釋?zhuān)篴pktool.bat d -f [apk文件 ] [輸出文件夾]
反編譯的文件如下(AndroidManifest.xml為例):
將反編譯完的文件重新打包成apk,很簡(jiǎn)單,輸入apktool.bat b abc123(你編譯出來(lái)文件夾)即可,命令如下:
打包apk后的文件在目錄C:\HelloAndroid下,生成了兩個(gè)文件夾:
build
dist
其中,打包生成的HelloAndroid.apk,在上面的dist文件夾下,Ok
三、 圖形化反編譯apk
上述步驟一、二講述了命令行反編譯apk,現(xiàn)在提供一種圖形化反編譯工具:Androidfby
首先,下載上述反編譯工具包,打開(kāi)Androidfby目錄,雙擊Android反編譯工具.exe,就可以瀏覽打開(kāi)要反編譯的apk
關(guān)鍵詞:apk
閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!
- 1
- 1
- 1
- 1
- 1
- 1