matrix - 安装包的分析检测工具
Matrix 是微信终端自研和正在使用的一套APM(Application Performance Management)系统。 ApkChecker 作为Matrix系统的一部分,是针对 android 安装包的分析检测工具,根据一系列设定好的规则检测 apk 是否存在特定的问题,并输出较为详细的检测结果报告,用于分析排查问题以及版本追踪。ApkChecker 以一个 jar 包的形式提供使用,通过命令行执行 java -jar ApkChecker.jar 即可运行。
安装
运行
$ java -jar matrix-apk-canary-2.0.1.jar --config config.json
配置文件
💡 配置文件可参考下面的示例,注意以下几个问题:
- "--apk":"./sample.apk" 表示需要分析的 apk 文件
- "--mappingTxt":"./mapping.txt" 表示打包输出的 mapping 文件
- "--resMappingTxt":"./symbols.txt" 表示资源 mapping 文件(R文件)
- "--output":"./outputs/apk-checker-result" 表示输出报表的路径;需要注意 outputs/ 文件夹一定要先创建好!!!否则无法导出报表;
- "--toolnm" 需要替换成你的本机路径;
- 更多配置,可以参考 Matrix 官方文档;
- 通过 ci 平台打包的产物;如下所示👇
- mappingTxt 可以从 mapping 获取
- resMappingTxt 可以从 symbols 获取
{
"--apk":"./sample.apk",
"--mappingTxt":"./mapping.txt",
"--resMappingTxt":"./symbols.txt",
"--output":"./outputs/apk-checker-result",
"--format":"mm.html,mm.json",
"--formatConfig":
[
{
"name":"-countMethod",
"group":
[
{
"name":"Android System",
"package":"android"
},
{
"name":"java system",
"package":"java"
},
{
"name":"com.tencent.test.$",
"package":"com.tencent.test.$"
}
]
}
],
"options": [
{
"name":"-manifest"
},
{
"name":"-fileSize",
"--min":"10",
"--order":"desc",
"--suffix":"png, jpg, jpeg, gif, arsc"
},
{
"name":"-countMethod",
"--group":"package"
},
{
"name":"-checkResProguard"
},
{
"name":"-findNonAlphaPng",
"--min":"10"
},
{
"name":"-checkMultiLibrary"
},
{
"name":"-uncompressedFile",
"--suffix":"png, jpg, jpeg, gif, arsc"
},
{
"name":"-countR"
},
{
"name":"-duplicatedFile"
},
{
"name":"-checkMultiSTL",
"--toolnm":"Your_Android_SDK_PATH/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-nm"
},
{
"name":"-unusedResources",
"--rTxt":"./symbols.txt",
"--ignoreResources"
:["R.raw.*",
"R.style.*",
"R.attr.*",
"R.id.*",
"R.string.ignore_*"
]
},
{
"name":"-unusedAssets",
"--ignoreAssets":["*.so" ]
},
{
"name":"-unstrippedSo",
"--toolnm":"Your_Android_SDK_PATH/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-nm"
}
]
}
作者:Plucky
出处:https://www.1991.wiki/topics/6
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可,如您转载必须以链接形式注明原文地址。
满招损,谦受益。