美文网首页安卓工具相关
Matrix-Android-APKChecker使用详解

Matrix-Android-APKChecker使用详解

作者: gogoingmonkey | 来源:发表于2019-04-28 14:48 被阅读0次

    首先贴下官方地址:https://github.com/Tencent/matrix/wiki/Matrix-Android-ApkChecker 个人觉的TX的开源项目写的很马虎!可能是实现的很完美了再反过来写的吧,摸索了一天时间才理解怎么玩

    APKChecker介绍:

    ApkChecker 作为Matrix系统的一部分,是针对android安装包的分析检测工具,根据一系列设定好的规则检测apk是否存在特定的问题,并输出较为详细的检测结果报告

    使用

    1.首先你需要下载他的jar包,我下载的是0.5.1版本的,官方有提供,暂时没找到路径,后面找到了贴上来;
    2.在你的命令行输入java,看下是否配置java环境变量.如果没有,自己处理吧.然后找个地方创建一个 apk_config.json 的文件,不推荐使用官方的使用命令行配置的方式,很容易出错,少了一些属性也不行;我的json文件如下:
    其中 --apk , -- output ,--rTxt包括清单文件需要替换你自己的;

    {
      "--apk": "/Users/zhouhao287/3D_6.2.0/app/build/outputs/apk/flavors_prd/release/app-flavors_prd-release.apk",
      "--mappingTxt": "",
      "--output": "/Users/zhouhao287/Desktop/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": "5",
          "--order": "desc",
          "--suffix": "png, jpg, jpeg, gif, arsc"
        },
        {
          "name": "-countMethod",
          "--group": "package"
        },
        {
          "name": "-checkResProguard"
        },
        {
          "name": "-findNonAlphaPng",
          "--min": "5"
        },
        {
          "name": "-checkMultiLibrary"
        },
        {
          "name": "-uncompressedFile",
          "--suffix": "png, jpg, jpeg, gif, arsc"
        },
        {
          "name": "-countR"
        },
        {
          "name": "-duplicatedFile"
        },
    
        {
          "name": "-unusedResources",
          "--rTxt": "/Users/zhouhao287/3D_6.2.0/app/build/intermediates/symbols/flavors_prd/release/R.txt",
          "--ignoreResources": ["R.raw.*",
            "R.style.*",
            "R.attr.*",
            "R.id.*",
            "R.string.ignore_*"
          ]
        },
        {
          "name": "-unusedAssets",
          "--ignoreAssets": ["*.so"]
        }
      ]
    }
    
    注意: 输出不要直接配路径,我最开始就是想输出在桌面,结果没效果,摸索半天,在网上找了很久才找到一点点线索,然后在自己电脑上使用最终摸索出,以我上面json的输出位置,就在桌面显示出来

    3.执行命令

    java  -jar /Users/zhouhao287/Desktop/apm/matrix-apk-canary-0.5.1.jar  --config /Users/zhouhao287/Desktop/apm/apk_config.json
    

    结果分析

    在桌面找到生成的文件如下:


    屏幕快照 2019-04-28 下午3.13.02.png

    文件解析

    结果中可以看到示例apk的相关全局信息如下图所示, so 库的大小和AS自带分析是一样的!


    屏幕快照 2019-04-28 下午3.22.21.png

    然后下面还有从清单文件中获取到版本号等相关信息 ,是否混淆等属性都有


    屏幕快照 2019-04-28 下午3.25.34.png

    里面包括一些异常大小的资源文件,比如我们项目中的GIF图片很多都是500k左右,然后我自己在网上找了下免费压缩的效果看上去很不错,大小为12K,对你没看错,压缩后大小12K 明白什么了吗!!!

    相关文章

      网友评论

        本文标题:Matrix-Android-APKChecker使用详解

        本文链接:https://www.haomeiwen.com/subject/wmwdnqtx.html