今天遇到了统计Android apk和jar包种方法数的问题,然后搜索到了github上一个很普及的方法dex-method-counts,下载之后使用如下方法
1. 到下载后的目录, 执行 ant jar(提前配置ant环境,可移步Mac Ant安装)
2. 然后就可以执行 ./dex-method-counts your_app.apk 就出来结果了。
但是想通过这个方法来统计jar包种的方法数就会报错
Magic number is wrong -- are you sure this is a DEX file?
不知道如何解决这个问题,于是另寻它法
今天弄了两个小工具,分别用于统计jar包和apk中java方法的数量,工具名称分别为:jarmethod.sh 和 apkmethod.sh,两个工具在Linux环境下跑,分享给大家:
1、jarmethod.sh工具,用于统计jar包中的方法数,脚本内容如下,将其保存为jarmethod.sh即可:
#! /bin/sh
# 获得输入的jar文件
JAR_FILE=$1;
# 这里直接使用dx命令,是因为我已经提前配置好了环境变量,dx目录位于:
# $ANDROID_HOME/sdk/build-tools/android-4.3.1/dx
dx --dex --verbose --no-strict --output=temp.dex $JAR_FILE >
/dev/null
# 计算jar包中的方法数
METHOD_COUNT=`
cat
temp.dex |
head
|