用Apktool擷取別人APP中的圖片及布局資源進行學習

來源:互聯網
上載者:User

標籤:

當我們看到一款UI布局很漂亮的APP,想要瞭解別人是怎麼實現的時候,就可以通過Apktool工具來反編譯別人的apk,從而擷取圖片及布局資源來進行學習。


其實我們下載到的Android 應用,是可以直接把尾碼名改成zip的,然後解壓zip就可以得到對應的檔案目錄


其中,res為所有資源檔,META-INF為簽名資訊,classes.dex為java源碼編譯後產生的位元組碼。

原以為這樣輕鬆的就可以拿到別人的布局源碼了,實則不然,點開res/layout下的一個布局檔案看看




然後發現裡面都是XML檔案經過編譯的機器碼。那麼怎麼擷取別人的布局檔案呢?這時,Apktool就派上用場了。


首先下載安裝Apktool:

:http://ibotpeaches.github.io/Apktool/install/


下載對應版本

1.將wrapper script右鍵選擇串連另存新檔得到apktool.bat檔案, 

2.在https://bitbucket.org/iBotPeaches/apktool/downloads下載最新版本的apktool.jar包如現在最新的apktool_2.1.0.jar,並刪除版本號碼重名名為apktool.jar

3.將apktool.bat、apktool.jar、及想要編譯的apk檔案放在同一檔案夾下

4.通過cmd進入對應目錄運行apktool.bat   d  -f    [apk檔案 ]   [輸出檔案夾]就可以得到相應的布局資源檔了,如下



這時開啟res下的檔案目錄會發現有很多abc及notfication開頭的檔案,這些檔案是自動產生的,並不是開發人員真正寫的布局檔案,我們需要看的是其他xml檔案,如黃色部分。


點開就可以看到相應的xml布局源碼了



如果想要看別人java源碼,學習別人功能的實現的話,就要用到dex2jar及jd-gui了,

其中dex2jar可以將apk改成zip加壓後得到的classes.dex檔案反編譯成jar檔案。

jd-gui:可以查看dex2jar轉換出來的jar檔案,就是我們想要的java源碼了。


想看詳細用法的可以參考:Android APK反編譯詳解


轉載請註明出處:http://blog.csdn.net/fzw_faith/article/details/51188815

用Apktool擷取別人APP中的圖片及布局資源進行學習

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.