如何确定应用程序的方法计数?

我遇到了我的应用程序有太多方法的问题。

在下面的链接的最后一篇文章中,海报张贴了他的应用程序的方法数(按包分解)。 我无法find我如何能得到这个信息为我的应用程序,有什么build议吗?

https://code.google.com/p/android/issues/detail?id=20814

Solutions Collecting From Web of "如何确定应用程序的方法计数?"

我用

cat build/dex/debug/classes.dex | head -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"' 

我得到55176 。 64K限制即将到来:D

要获得每个构build的方法计数报告,请执行以下操作:

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' 

它会显示每个软件包的方法数量,对于您自己的项目和您使用的库。

来自: https : //github.com/KeepSafe/dexcount-gradle-plugin

有一个工具APK方法计数 ,它可以统计apk中方法的数量。

还有一个服务methodscount.com来检查库的方法计数。 这个服务还有Android Studio / IntelliJ插件 ,用于parsing你的Android库依赖关系,并显示这些方法作为一个方便的提示。

你可以在Android studio中使用APK分析器

https://developer.android.com/studio/build/apk-analyzer.html

尝试使用静态代码分析器; 例如, 源监视器是免费的软件,并有你要search的计数。

或者,如果您不想使用其他插件,请尝试执行此操作(仅适用于Eclipse):

  • 按Ctrl-H(search),然后select“Javasearch”选项卡(如果没有出现,请单击左下angular的“自定义…”button)
  • 把*放在search框中
  • 在“search”字段中select“方法”
  • 在“限制到”字段集中select“声明”
  • 在“Search In”字段中select“Sources”
  • 在“范围”字段集中select“工作区”
  • 点击“search”

search完成后,您应该在search视图中看到“XXXX声明在…”消息,这将是您的结果。

希望能帮助到你!

你可以使用JavaNCSS来获得这样的统计信息。 它可以在这里find: http : //www.kclee.de/clemens/java/javancss/

你有没有试过https://github.com/KeepSafe/dexcount-gradle-plugin ? 以graphics和/或文本forms显示每个软件包的方法数量。

要查找和Android应用程序方法计数有或没有multidex支持使用:

 find | grep classes.dex | xargs -I {} hexdump -e '"%d {}\n"' -s 0x58 -n 4 {}