綠色資源網:您身(shēn)邊最放心的安全下載站! 最新(xīn)軟件|熱門排行|軟件分(fèn)類(lèi)|軟件(jiàn)專題|廠商大全

綠色資源網

技(jì)術教程
您的位(wèi)置(zhì):首頁軟件應(yīng)用 → apk是什麽文件、androids文件中怎麽反編(biān)譯?

apk是什麽文件、androids文件中怎麽反(fǎn)編譯?

我要(yào)評論 2013/12/10 21:45:08 來源:綠色資源網 編(biān)輯:www.itseasyglobal.com [ ] 評論:0 點擊:356次

apk即androids安裝包(bāo),通過將APK文(wén)件直接(jiē)傳到androids模擬器或androids手機中執行即可安裝(zhuāng)。安卓androids的軟件(jiàn)安裝包以.apk為文件(jiàn)擴展名,其文件格式是標準的.zip文件,可以通過WinZIP、winrar等壓縮文件工具直接打(dǎ)開(kāi),或是在(zài).apk文(wén)件(jiàn)名上添加.zip後綴,即可查看(kàn)封裝在其中的(de)具(jù)體文件內容,包括(kuò)程序、圖片(piàn)、配置文件等。apk文件和sis一樣,把androids sdk編譯的(de)工程打包成一個安(ān)裝(zhuāng)程(chéng)序文件,格式為apk。 APK文件其實是(shì)zip格式,但後綴名被(bèi)修改(gǎi)為apk,通過UnZip解壓(yā)後,可以看到Dex文(wén)件,Dex是Dalvik VM executes的(de)全(quán)稱(chēng),即androids Dalvik執行程序,並非Java ME的字節碼而是(shì)Dalvik字節碼。androids在運行一個程序(xù)時首先(xiān)需要(yào)UnZip,然後類似Symbian那樣(yàng)直接,和Windows mobiles中(zhōng)的(de)PE文件有區別(bié)。

安裝安卓(zhuó)軟件INSTALL_FAILED_CPU_ABI_INCOMPATIBLE的(de)解(jiě)決方法

具體方法如下:
安(ān)裝(zhuāng)apk文件到模擬器或者手機上時報(bào):Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE這個錯誤,Google下(xià)說是(shì)由於引用(yòng)了其他非androids的sdk編譯環境編譯的二進(jìn)製代碼導致(zhì)的,然後就把(bǎ)引用的jar換成androids環境編譯導出,但是還是報錯,最後發現是因為(wéi)引(yǐn)用的jar文件裏的lib目錄裏還引用(yòng)其他jar導致,把lib裏的jar拿出來放到項目的buildpath裏(lǐ)即可解決,不要(yào)引用(yòng)的(de)jar裏再(zài)嵌(qiàn)套(tào)引用jar那樣就會有報錯。

如果因為引(yǐn)用(yòng)的jar文件裏的lib目錄裏還引用其他jar導(dǎo)致,把lib裏的jar拿出來(lái)放到項目(mù)的buildpath裏(lǐ)即可解決(jué),不要引用的(de)jar裏再嵌套引用(yòng)jar那樣(yàng)就會有(yǒu)報(bào)錯。

androids反編譯

一、Apk反(fǎn)編譯得到Java源代碼
下(xià)載上(shàng)述反編譯工具包,打開apk2java目錄(lù)下的dex2jar-0.0.9.9文件夾,內含apk反編譯成java源碼(mǎ)工具,以及源碼查看工具。
apk反編譯工具dex2jar,是將apk中的classes.dex轉化成(chéng)jar文件
源碼查看工具jdgui,是一個(gè)反(fǎn)編(biān)譯工具,可以(yǐ)直(zhí)接查看反編(biān)譯後的jar包源代碼。

具體步驟:
首先將apk文件後綴改為zip並解壓(yā),得(dé)到其中的classes.dex,它(tā)就是java文(wén)件編(biān)譯再通(tōng)過dx工具打(dǎ)包而(ér)成的,將classes.dex複製到dex2jar.bat所在目錄dex2jar-0.0.9.9文(wén)件(jiàn)夾(jiá)。
在命令(lìng)行下定位到dex2jar.bat所在目錄(lù),運行
dex2jar.bat classes.dex
生成
classes_dex2jar.jar

然後,進入jdgui文件(jiàn)夾雙擊jd-gui.exe,打開(kāi)上麵生成的jar包classes_dex2jar.jar,即可看到源代碼了,如下圖:

Helloandroids源碼在(zài)反編譯前後(hòu)的對照如(rú)下:

二、apk反編譯生成(chéng)程序的源代碼和圖片、XML配置、語言(yán)資源(yuán)等(děng)文件
如(rú)果是漢化軟(ruǎn)件,這將特別(bié)有用
首先還是要下載上述反編(biān)譯工(gōng)具包,其中最新的apktool,請(qǐng)到google code下載
apktool(google code)

具體步驟:
下(xià)載上述反(fǎn)編(biān)譯工(gōng)具包,打開apk2java目錄下的(de)apktool1.4.1文件夾,內含三個文件:aapt.exe,apktool.bat,apktool.jar
注:裏麵的apktool_bk.jar是(shì)備(bèi)份的老版本,最好用最新的apktool.jar

在命令行下定(dìng)位(wèi)到apktool.bat文件夾,輸入以下命(mìng)令:apktool.bat d -f abc123.apk abc123,如下圖:

上(shàng)圖中,apktool.bat 命(mìng)令行解(jiě)釋:apktool.bat d -f [apk文件 ] [輸出文(wén)件夾]

反編譯的(de)文(wén)件(jiàn)如下(androidsManifest.xml為例):

將反編譯完的文件(jiàn)重新打(dǎ)包成(chéng)apk,很簡單,輸入(rù)apktool.bat b abc123(你編譯出來文件(jiàn)夾)即可,命令如下:

打包apk後的文(wén)件在目錄C:\Helloandroids下,生成了兩個文件夾:
build
dist
其中(zhōng),打包生成的Helloandroids.apk,在上麵的(de)dist文件夾下,Ok

三、 圖形化反編譯apk
上(shàng)述步驟一、二講述了命令行反編譯(yì)apk,現在提(tí)供一種圖(tú)形化反編譯工具(jù):androidsfby
首先,下載上述反編譯工具(jù)包,打開androidsfby目(mù)錄,雙(shuāng)擊(jī)androids反編譯工具.exe,就可以(yǐ)瀏覽打開要反(fǎn)編譯的apk

關(guān)鍵詞:apk

閱讀本(běn)文後(hòu)您有(yǒu)什麽感想(xiǎng)? 已有 人(rén)給出評價!

  • 1 歡迎喜(xǐ)歡
  • 1 白癡
  • 1 拜托(tuō)
  • 1 哇
  • 1 加油
  • 1 鄙視