统计apk或jar中方法数量

时间:2021-01-27 16:52:32

一、apk中方法数量

./android-sdk-linux/build-tools/23.0.2/dexdump -f  apk路径 | grep method_ids_size

二、jar中方法数量(转载)

#! /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 -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"'`

# 显示结果
echo $METHOD_COUNT

# 删除临时文件temp.dex
rm
-f temp.dex

保存为jarmethod.sh

为了使用起来更方便,建议将其添加一个软链到bin目录,比如可以这样:

# 先更改下权限
chmod
0755 jarmethod.sh

# 软连到bin目录,这样可以在任何目录直接执行该工具
cd
/usr/local/bin
ln
-s jarmethod.sh路径 jarmethod

使用方法:jarmethod jar包路径