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的簽名/包名等信息
轉載于:https://www.cnblogs.com/meteoric_cry/p/4565524.html
總結
以上是生活随笔為你收集整理的windows下apk查看工具的原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zabbix分布式监控环境完全编译安装部
- 下一篇: oracle EBS grant 您不具