最近不少朋友在群里问,拿到一个apk文件想看看里面到底装了啥,用什么工具比较顺手。我一般直接推荐APK Analyzer,这东西说白了就是个安装包分析工具,能把一个安卓apk拆开给你看,包名、版本号、权限、签名、资源文件、甚至dex里的类和方法都能翻出来。不管你是想确认某个应用有没有乱要权限,还是想研究别人怎么打包的,用它都挺方便。下面我就按自己平时用的顺序,把APK Analyzer使用教程完整走一遍,新手跟着做基本不会卡壳。

先把它装好,别急着上手
APK Analyzer其实有两种常见用法,一种是Android Studio自带的那个Analyzer窗口,另一种是独立的APK Analyzer工具。如果你电脑上已经装了Android Studio,直接拖apk进去就能用,省事。要是没装,那就下个独立版,解压后双击运行,基本免安装。这里提醒一句,APK Analyzer下载尽量走官网或者靠谱的软件站,别随便点搜索结果里那些带“高速下载”的按钮,我上次就中招过,装完多出一堆全家桶,删了半天。
装好之后第一次打开可能会提示选择JDK路径,按它给的提示指到本地Java目录就行。要是报错说找不到环境变量,别慌,多半是路径里有中文或者空格,换个纯英文目录重新解压一般就好了。
拖进去,先看整体信息
把要分析的apk直接拖进窗口,等它加载几秒,左边会出来一个树状结构。最上面那块就是APK Analyzer给的整体概览,包名、版本号、文件大小、最小SDK版本都写得清清楚楚。我平时第一步就是看包名和版本,确认自己没拿错文件。接着往下点,能看到权限列表,哪些是危险权限一目了然,比如某个手电筒应用居然要读取通讯录,这种就得留个心眼了。

再往下是签名信息,这里能看出apk用的是v1还是v2签名,调试签名还是发布签名。有时候装不上应用,就是签名冲突闹的,用APK Analyzer一查就明白。
深入看资源和代码结构
真正有意思的是往细里看。点开res目录,图片、布局、字符串资源全在里面,想汉化或者找图标素材,直接从这儿拿就行。dex文件那块稍微专业点,但也不用怕,APK Analyzer会把类名和方法列出来,搜关键词就能定位。我上次想看看某个应用有没有偷偷调用定位接口,就是在dex里搜“Location”找到的线索。
还有个实用场景是查APK安装包分析里的资源冗余,比如发现一堆没用的多语言包,说明这应用体积大是有原因的。要是你自己在打包,也能借着这个思路精简一下。

另外提一句,分析大文件的时候软件会卡一下,属于正常现象,别以为死机了急着关掉。等进度条走完就好,我一般趁这功夫去倒杯水。
几个容易踩的坑
第一,apk路径别放太深,中文目录也尽量避开,不然加载失败的概率挺高。第二,有些加固过的包用APK Analyzer打开会看到一堆乱码类名,这不是工具的问题,是人家做了保护,想看透得另想办法。第三,分析完记得关掉窗口释放内存,尤其老电脑,开久了确实有点吃资源。
还有人问APK Analyzer怎么用才能看so文件,其实在lib目录下按架构分好了,armeabi、arm64这些都在,点开就能看文件大小和基本信息,够日常判断用了。

总的来说,APK Analyzer算不上什么高深工具,但胜在直观、免费、上手快。平时装应用前拿它扫一眼权限,或者研究别人怎么组织资源,都挺实用。你要是刚接触安卓安装包分析,按上面这个顺序走一遍,基本就能摸清门道了。后面再遇到装不上、权限可疑的情况,心里也有底。


喜欢
顶
难过
囧
围观
无聊



