用于统计 Android .dex 文件中每个包中的方法的命令行工具
一个简单的工具,用于输出 Android DEX 可执行文件中按包分组的方法计数,以帮助将引用的方法数量控制在 65,536 的限制以下。更多细节见这篇博客文章。
使用 Ant 运行:
$ ant jar
$ ./dex-method-counts path/to/App.apk # 或 .zip 或 .dex 或目录或使用 Gradle:
$ ./gradlew assemble
$ ./dex-method-counts path/to/App.apk # 或 .zip 或 .dex 或目录在 Windows 上:
$ gradlew assemble
$ dex-method-counts.bat path\to\App.apk你将看到如下形式的输出:
读取65490个方法ID。 : 65490 3 安卓:6837 无障碍服务:6 蓝牙:2 248 下午:22 结果:45 好的,请发送需要翻译的内容。 com: 53881 调整:283 sdk: 283 codebutler: 65 android_websockets: 65 好的,请发送需要翻译的内容。 总方法数:65490 支持的选项包括:
--count-fields:输出字段数量,而非方法数量。--include-classes:将类视为包,并提供每个类的方法数量。一个典型用例是协议缓冲区,其中包内所有生成的代码都集中在一个类中。--package-filter=...:仅统计完全限定名称以该前缀开头的方法。--max-depth=...:限制统计报告在包路径(或使用 --include-classes 时的内部类)中的深入层级。--filter=[all|defined_only|referenced_only]:指定统计范围,包括所有方法(默认)、仅输入文件中定义的方法,或仅输入文件中引用的方法。请注意,被引用的方法同样计入64K方法限制。--output-style=[flat|tree]:以列表或缩进树形结构输出结果。DEX 文件解析基于 Android 源码树 中的 dexdeps 工具。
暂无开放 Issues,或尚未同步最近议题。