如何查看apk需要支援的Android版本,查看apkandroid版本
如果有一個apk,需要知道他最低安裝支援的Android版本是什麼,應該如何查看呢?
直接將apk尾碼名改為rar或者zip,拉出AndroidManifest.xml?不行,AndroidManifest.xml已經被編譯過了,裡面很多內容改為二進位了。
其實用Android內建工具即可,進入Android SDK目錄。
cd sdk\build-tools\android-4.4.2 這邊以4.4.2為例,可以參照自己的platform版本
aapt.exe list -a someapk.apk > apkversion.txt
然後用記事本之類的應用開啟apkversion.txt搜尋
minSdkVersion,以我這邊為例,可以看到這便是0xf,即15
E: uses-sdk (line=8)
A: android:minSdkVersion(0x0101020c)=(type 0x10)0xf
15對應的Android版本可以從這邊查閱:
Android版本和API Level對應關係
怎查看安卓apk程式的原始碼?
將apk檔案拷貝至sdcard上。
命令順序如下:
進入Android sdk檔案夾/tools目錄下
輸入adb shell
輸入su
輸入cd data
輸入cd app
這時就可以看到你安裝的所有的apk檔案。輸入cp 空格 對應的apk 空格 /sdcard/
這樣就將apk檔案拷貝出來了。
將apk檔案尾碼直接變成rar格式,可以看到熟悉的目錄結構了,
其中xml檔案開啟後都是二進位的,無法查看。
這時就用到了一個android4me的AXMLPrinter2工具。(請自行百度搜尋)
輸入以下命令,將xml檔案解析出來
java -jar AXMLPrinter2.jar showtimes_list.xml
此命令是在命令列中查看此showtimes_list.xml
將showtimes_list.xml產生xml檔案,則輸入以下命令:
java -jar AXMLPrinter2.jar showtimes_list.xml > h.xml
目前進行到這一步,只能看到xml檔案的內容,其工程中的java源檔案還是看不到,看目錄結構下有一個classes.dex檔案,我們需要將dex檔案變為jar檔案。
這裡用到了另一個工具dex2jar。(自行搜尋下載)
在Windows下解壓之後的目錄如所示:
在命令列中,進入到此目錄下:
在Windows下,輸入以下命令:
dex2jar.bat c:\classes.dex
運行完之後,在C盤會多一個classes.dex.dex2jar.jar檔案,此檔案就是我們需要的jar檔案。
利用jd-gui,將jar檔案反向工程為java代碼。(請自行搜尋下載)
它分為Windows、Linux、和max三個版本,這裡我下載的是Windows版本的。
解壓之後,雙擊運行exe檔案,選擇classes.dex.dex2jar.jar檔案,相應的jar檔案中的Java檔案就被反向工程顯示出來了!
android 怎將從其他版本系統中提取的apk安裝到自己的手機中
版本不一樣,內建的安裝程式應該與其底層實現有關,即使能夠安上也不一定能夠正常運行啊,乾脆下個第三方的簡訊管理軟體吧。