Android Studio的APK分析工具Analyze Apk,可以十分方便的查看Apk的基本信息,如占用空间、版本号、SDK版本等,可以看到各个文件大小,如DEX、res、lib、assets等,及利用ApkAnalyzer分析学习第三方APK的命名规范、目录架构,分析DEX文件查看大公司使用的第三方优秀框架、加固方案、异常收集方案、日志方案等。
ApkAnalyzer使用
在AndroidStudio中点击Build
,然后选择Analyze APK
,选择要分析的APK即可,如夸克浏览器:
Android 命令行工具——apkanalyzer
位置:Sdk\tools\bin\apkanalyzer
语法:apkanalyzer [global-options] subject verb [options] apk-file [apk-file2]
D:\Users\AppData\Android\Sdk\tools\bin>bash apkanalyzer
Subject must be one of: apk, files, manifest, dex, resources
# 输出APP ID,版本信息
bash apkanalyzer apk summary demo.apk
# 输出Apk文件大小(-h是方便阅读方式显示)
bash apkanalyzer -h apk file-size demo.apk
# 输出APK的download大小
bash apkanalyzer apk download-size
# 比较二个Apk大小
bash apkanalyzer apk compare demo1.apk demo2.apk
# 输出Apk中的文件列表
bash apkanalyzer files list demo.apk
# 输出Apk中某个文件的内容
bash apkanalyzer files cat --file /AndroidManifest.xml demo.apk
# 输出AndroidManifest.xml
bash apkanalyzer manifest print demo.apk
bash apkanalyzer manifest version-code demo.apk
bash apkanalyzer manifest min-sdk demo.apk
bash apkanalyzer manifest target-sdk demo.apk
bash apkanalyzer manifest permissions demo.apk
bash apkanalyzer manifest debuggable demo.apk
#输出Apk中的dex文件列表
bash apkanalyzer dex list demo.apk
# 输出dex文件中引用的方法个数
bash apkanalyzer dex references demo.apk
# 输出dex文件中的类信息
bash apkanalyzer dex packages demo.apk
# 输出类的字节码或者方法的反编译格式
bash apkanalyzer dex code --class class_name demo.apk
# s输出某个资源的值(app_name)
bash apkanalyzer resources value --config default --name app_name --type string demo.apk
# 输出某种资源类型的所有名字(strings)
bash apkanalyzer resources names --config default --type string demo.apk