windows下apk查看工具的原理


游戲出了版本之后,提供給渠道,有部分渠道會修改包名(當他們內部系統做出調整后,可能會改包名),這個時候我又需要知道包名。之前沒辦法,試圖反編譯apk,發現失敗了。然后就安裝apk到手機上,手機上再下載一個包查看軟件,然后找到包名。

 

之后我一直在想,windows下應該是能實現的,而碗豆莢之類的工具,只顯示apk的圖標和它所需要的權限,它對應的啟動activity及包名是沒有顯示出來的。我嘗試搜索”apk 包名查看工具”,然后找到apkhelper這個工具,下載使用后發現它能很快就顯示相應的信息,對此我就比較好奇了,研究了一下,記錄幾個重要的點。了解這些要點,完全可以自己動手寫工具了:



 

重點是二個應用程序:aapt.exe、unzip.exe

 

一、獲取apk的包名及版本信息

通過aapt就能查到它所支持的參數及用法

 

aapt.exe dump  badging xxx.apk > a.txt

將dump信息輸入至a.txt中,控制台打印信息顯示中文會亂碼,打開a.txt會顯示相應的信息:

這樣就拿到了

包名  -- package name

版本 -- versionCode、versionName

icon信息 – application-icon-xx

 

二、獲取icon圖標

右擊apk,通過壓縮軟件打開,的確可以找到icon,那是不是意味着通過unzip apk來找到icon呢,可以是可以,不過好幾十M的東西解壓也需要時間,就顯得很浪費了。我看apkhelper很快就顯示出來了,這個就需要再研究了,之后我搜索“aapt 獲取apk icon”找到這樣一篇文章:

<基於aapt實現全尺寸解析apk圖標>

我發現它是遍歷文件流來查找文件,如果我想在dos下使用,也就只需要解壓指定的文件即可。icon的路徑通過第一步已經知道了,現在就是要找命令如何調用了,搜索到這篇帖子:

<只把zip中的某個文件unzip出來,命令怎么寫?>

unzip  -j xx.apk   file_path  -d  out_dir



不加-d 就直接將相應的文件解壓到當前目錄中了

 

 

參考鏈接:

android利用aapt解析apk得到應用名稱 包名 版本號 權限等信息

如何快速得到Apk的簽名/包名等信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM