Android apk分析工具:APK Analyzer

前言

Android studio 2.2版本后自帶有一個分析工具:APK Analyzer。這是一個專門分析apk的神器,主要作用如下:

  1. (重要)直觀的看到apk中各個文件的大小(比如DEX,resource等等)。我們可根據(jù)文件大小信息,減小apk的大小;
  2. (重要)學(xué)習(xí)大企業(yè)app的命名規(guī)范和目錄架構(gòu)規(guī)范,還可以查看大公司app使用了什么技術(shù)和第三方框架;
  3. 了解DEX文件的組成;
  4. 快速查看APK的版本信息(例如androidmanifest.xml等也可以看到);
  5. 直接比較兩個APK的信息,有對比才有傷害;

如何使用APK Analyzer

使用APK Analyzer有如下三種方式:

  • 第一種,將需要分析的apk拖拽到Android studio中即可;

  • 第二種,若是你項(xiàng)目中已經(jīng)build apk,那么使用project視圖。打開整體project—>app—>bulid—>outputs—>apk—>[XXX].apk,雙擊[XXX].apk即可。其實(shí),只要你的apk在項(xiàng)目中,雙擊即可;

雙擊方式
  • 第三種,點(diǎn)擊Android studio菜單欄—>build—>Analyze apk,然后選擇apk即可;
菜單欄選擇方式

APK Analyzer的具體分析

下面,我用最新的知乎apk(4.17.1)演示一下。

APK Analyzer分析頁面
  1. 首先,圖中第一個紅框的地方,顯示了整個apk的包名,以及版本名。版本名[XXX]其實(shí)對應(yīng)的是androidmanifest中的android:versionName="[XXX]"。

  2. 圖中第二個紅框,有兩個size。Raw File Size表示原文件大小,Download Size表示經(jīng)過Google play處理壓縮后的apk大小。分析apk中文件或文件夾的占有比例也是相對于Download Size而言。

  3. 圖中第三個紅框,是整個apk的文件結(jié)構(gòu)。我們熟悉的res,AndroidManifest.xml,assets,lib等都在這里。而[XXX].dex可以看到整個項(xiàng)目的目錄框架。

classes.dex

第二個紅框標(biāo)出,我們可以查看dex文件中總共有多少個類,類里面有多少個方法,引用了多少個方法。
第三個紅框可以看出,知乎apk使用了混淆,我們看不到真正的方法名了。

總結(jié)

上述只是講了APK Analyzer的使用,還有很多可以深入的地方等待你去挖掘。

  • 比如查看自己開發(fā)的apk文件,哪部分占用的比例較大,是否可以減小apk的體積;
  • 比如compare with功能可以簡單比較兩個apk的大小比例。驗(yàn)證你優(yōu)化后的apk和未優(yōu)化的apk,哪部分size減少了,哪部份size反而增大了;
  • 通過包名,或者說路徑名,可以看看大公司的框架都封裝了哪些新的技術(shù),然后選擇性的加到自己公司或個人的項(xiàng)目中。
  • 看到某個apk的某個效果很贊,可以通過APK Analyzer查看資源文件res,文件夾名稱等窺探該apk是否用了第三方框架展現(xiàn)等等;
  • ...

推薦

android APK Analyzer官方介紹
我是如何做到在 5 分鐘之內(nèi)將應(yīng)用大小減少 60% 的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,872評論 25 709
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,842評論 2 45
  • Siri 非常高端大氣上檔次,omnifoucus也是絕對的效能利器,這兩項(xiàng)結(jié)合會怎么樣呢?當(dāng)然是強(qiáng)強(qiáng)聯(lián)手的...
    李爽的天空閱讀 13,558評論 16 67
  • 營養(yǎng)學(xué)研究顯示:每100克黑木耳里含鐵98毫克,比動物性食品中含鐵量最高的豬肝高出約5倍,比綠葉蔬菜中含鐵量最高的...
    狄某閱讀 573評論 0 0
  • 自制力和自制力是一對好兄弟,但總是在我邀請的宴會上缺席。 我問他們?yōu)槭裁纯偸遣粊??我是那么的需要你們,沒有你們我會...
    孔瑞杰閱讀 373評論 0 0

友情鏈接更多精彩內(nèi)容