編輯:關於Android編程
最近群裡有人問如何在mac下進行apk反編譯,我也沒試過,以前都是在windows下進行反編譯的,windows下很簡單,有許多比較好的集成工具,如apkide(改之理),不過我猜mac下應該和windows下差不多,趁著嗑瓜子的功夫,我研究了下mac下如何進行apk反編譯,其實和windows下是一樣,我在這裡記錄了下:
第一步:下載反編譯工具集,apktool、dex2jar、jd-gui,最後我會上傳這些工具,解壓後如下圖:
下面那個彈出框是JD-GUI的,用來將字節碼反編譯成java源文件用的
第二步,工具集准備好之後還不能進行反編譯,你在命令窗口下執行輸入apktool 會提示命令不存在,需要配置一下環境變量
,怎麼配置呢,如下命令:
1.打開命令窗口,cd /usr/local/bin下,可能有的mac電腦不存在bin這個目錄,直接在創建一個就好了,命令是:sudo mkdir bin,執行後會讓你輸入root權限密碼,輸入完後執行ls命令查看,bin目錄就存在了,如圖:
2.將你解壓後的apktool文件夾下的三個文件aapt、apktool、apktool.jar 復制到/usr/local/bin/目錄下,怎麼復制呢,當然用命令cp了,如下圖:
復制多個文件用空格隔開,android-workspace/APK/apktool/目錄是源目錄,存放的是我們要復制的那三個文件,執行命令後,提示輸入密碼,輸完密碼後就復制成功了,ls查看一下,這三個文件已經存在了。
這時候就已經配置好環境變量PATH了,什麼,我怎麼沒看到和PATH有關的任何命令,其實,/usr/local/bin本來就在PATH下,不信我執行命令你看:
這也是我們把apktool3個文件放在/usr/local/bin下的原因,現在你再輸入apktool命令試試:
輸出這樣的命令就代表環境配置好了
第三步:開始進行反編譯了,其實用到的命令也很簡單,我們隨便拿一個apk來,例如:
我們要對dz-android.apk進行反編譯,命令行進入這個目錄 cd /Users/hailonghan/android-workspace/APK,到這個目錄後,
執行命令apktool d dz-android.apk,如下圖:
執行成功後,會在當前目錄下生成一個da-android文件夾,點擊去就看到相關apk的資源文件了,選中AndroidManifest.xml,然後空格鍵,就可以看到反編譯後的內容了:
第四步:反編譯java源文件
這就用到dex2jar和jd-gui了,將dz-android.apk重命名改成dz-android.zip,然後利用解壓縮軟件解壓,得到一個dz-android目錄,我們要拿到裡面的classes.dex文件,如圖:
將其復制到dex2jar-0.0.9.15目錄下,如圖:
然後執行命令:sh dex2jar.sh classes.dex,如圖:
執行成功後會生成一個classes_dex2jar.jar文件,如圖:
最後,用jd-gui工具打開這個jar包就可以看到java源代碼了,如圖:
Appwidget就是手機應用中常常放在桌面(即home)上的一些應用程序,比如說鬧鐘等。這種應用程序的特點是它上面顯示的內容能夠根據系統內部的數據進行更新,不需要我們進
1. 清單文件AndroidManifest.xml1.1. 清單文件的作用每個Android應用都需要一個名為AndroidManifest.xml的程序清單文件,這個
上一篇我們學習了自定義ViewGroup的基本步驟,並做了一個CustomGridLayout的實例,這篇我們繼續來說說自定義ViewGroup。 Android中當有大
本文實例講述了Android控件之GridView用法。分享給大家供大家參考。具體如下:GridView是一項顯示二維的viewgroup,可滾動的網格。一般用來顯示多張
國際慣例,先來效果圖 在閱讀本文章之前,請確定熟悉【Scrol