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