我遇到的问题是我的应用程序有太多方法。
在下面链接的最后一篇文章中,海报张贴了他的申请的方法计数(按包分类)。我无法找到如何为我的应用程序获取此信息,任何建议?
答案 0 :(得分:31)
我用
cat build/dex/debug/classes.dex | head -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"'
我得到55176
。 64k限制即将来临:D
答案 1 :(得分:12)
要获取每个构建的方法计数报告,请执行以下操作:
app/build.gradle
中的:
buildscript {
repositories {
mavenCentral() // or jcenter()
}
dependencies {
classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.7.3'
}
}
// make sure this line comes *after* you apply the Android plugin
apply plugin: 'com.getkeepsafe.dexcount'
它将显示每个包的方法数,适用于您自己的项目和您使用的库。
答案 2 :(得分:6)
您可以在Android工作室中使用APK Analyzer
https://developer.android.com/studio/build/apk-analyzer.html
答案 3 :(得分:5)
有一个工具APK method count可以计算apk中方法的数量。
还有一个服务methodscount.com来检查库的方法计数。此服务还具有Android Studio/IntelliJ plugin,用于解析您的Android库依赖项,并将方法计数显示为方便提示。
答案 4 :(得分:4)
尝试使用静态代码分析器;例如,Source Monitor是免费的SW,并且有您正在搜索的计数。
或者如果您不想在没有其他插件的情况下这样做,请尝试这样做(仅限Eclipse):
搜索完成后,您应该会在搜索视图中看到“XXXX声明...”消息,这将是您的结果。
希望它有所帮助!
答案 5 :(得分:1)
您可以使用JavaNCSS获取此类统计信息。它可以在这里找到:http://www.kclee.de/clemens/java/javancss/
答案 6 :(得分:0)
你试过https://github.com/KeepSafe/dexcount-gradle-plugin吗?以图形方式和/或文本显示每个包的方法数。
答案 7 :(得分:0)
要查找和使用 multidex 支持的Android应用方法计数,请使用:
find | grep classes.dex | xargs -I {} hexdump -e '"%d {}\n"' -s 0x58 -n 4 {}