綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|論壇轉(zhuǎn)帖|廠商大全

綠色資源網(wǎng)

技術(shù)教程
您的位置:首頁軟件應(yīng)用 → apk是什么文件、Android文件中怎么反編譯?

apk是什么文件、Android文件中怎么反編譯?

我要評論 2013/12/10 21:45:08 來源:綠色資源網(wǎng) 編輯:sonlywya.cn [ ] 評論:0 點(diǎn)擊:356次

apk即Android安裝包,通過將APK文件直接傳到Android模擬器或Android手機(jī)中執(zhí)行即可安裝。安卓Android的軟件安裝包以.apk為文件擴(kuò)展名,其文件格式是標(biāo)準(zhǔn)的.zip文件,可以通過WinZIP、winrar等壓縮文件工具直接打開,或是在.apk文件名上添加.zip后綴,即可查看封裝在其中的具體文件內(nèi)容,包括程序、圖片、配置文件等。apk文件和sis一樣,把a(bǔ)ndroid sdk編譯的工程打包成一個安裝程序文件,格式為apk。 APK文件其實(shí)是zip格式,但后綴名被修改為apk,通過UnZip解壓后,可以看到Dex文件,Dex是Dalvik VM executes的全稱,即Android Dalvik執(zhí)行程序,并非Java ME的字節(jié)碼而是Dalvik字節(jié)碼。Android在運(yùn)行一個程序時首先需要UnZip,然后類似Symbian那樣直接,和Windows Mobile中的PE文件有區(qū)別。

安裝安卓軟件INSTALL_FAILED_CPU_ABI_INCOMPATIBLE的解決方法

具體方法如下:
安裝apk文件到模擬器或者手機(jī)上時報(bào):Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE這個錯誤,Google下說是由于引用了其他非android的sdk編譯環(huán)境編譯的二進(jìn)制代碼導(dǎo)致的,然后就把引用的jar換成android環(huán)境編譯導(dǎo)出,但是還是報(bào)錯,最后發(fā)現(xiàn)是因?yàn)橐玫膉ar文件里的lib目錄里還引用其他jar導(dǎo)致,把lib里的jar拿出來放到項(xiàng)目的buildpath里即可解決,不要引用的jar里再嵌套引用jar那樣就會有報(bào)錯。

如果因?yàn)橐玫膉ar文件里的lib目錄里還引用其他jar導(dǎo)致,把lib里的jar拿出來放到項(xiàng)目的buildpath里即可解決,不要引用的jar里再嵌套引用jar那樣就會有報(bào)錯。

Android反編譯

一、Apk反編譯得到Java源代碼
下載上述反編譯工具包,打開apk2java目錄下的dex2jar-0.0.9.9文件夾,內(nèi)含apk反編譯成java源碼工具,以及源碼查看工具。
apk反編譯工具dex2jar,是將apk中的classes.dex轉(zhuǎn)化成jar文件
源碼查看工具jdgui,是一個反編譯工具,可以直接查看反編譯后的jar包源代碼。

具體步驟:
首先將apk文件后綴改為zip并解壓,得到其中的classes.dex,它就是java文件編譯再通過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,打開上面生成的jar包c(diǎn)lasses_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

關(guān)鍵詞:apk

閱讀本文后您有什么感想? 已有 人給出評價!

  • 1 歡迎喜歡
  • 1 白癡
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙視