前言
Android Studio升到2.0版本以后,有个很好的功能,就是可以直接逆向分析apk,查看到里面的内容。
条件
Android Studio 版本为2.0以上
Analyze APK
-
Build->Analyze APK
2.择一个apk
内容说明
apk大小和下载大小
raw size是apk包的大小,download size是apk在Google Play上下载的apk包的大小(一个高度压缩的版本的文件),对于应用程序的更新,谷歌播放服务的补丁,通常要小得多,安装尺寸可能会高于原始大小取决于各种其他因素。
classes.dex
dex是Java源码编译生成的字节码文件,可以查看项目里面包含的所有类,可以查看每个类里面包含的方法,当然,混淆过的就查看不了了,只会显示abcd等的方法名。
这句话的意思时这个dex文件定义了4129类23370种方法,并引用29656种方法,可以显示项目里面说定义的类的数量,方法的数量,引用的方法的数量。
resources.arsc
es里面的文件的id值都是数值,不能确定是什么,所有就用到它,描述那些具有id值的资源的配置信息,它的内容就相当于是一个资源索引表。
res目录
直接查看res里面的资源文件
直接查看图片
assest
assest里面存放的都是一些打包的时候不会编译的一些资源文件。
META-INF
存放的是apk的签名信息,MANIFEST.MF文件里面的内容是版本号以及对每一个文件的哈希值;CERT.SF文件里面的内容与MANIFEST.MF文件类似;CERT.RSA文件里面是apk包的签名,同时还有证书的公钥。
libs
可以查看项目里面用到的so文件
比较两个apk
通过点击右上角的Compare with…可以选择多一个apk来比较,可以用来比较apk升级后的大小差别。
后话
这里的的所应用到的不能说是反编译apk,毕竟不能直接从里面查看详细的内容和提取各种资源文件,若要反编译,还是要靠其他方法才行。