当断点处于方法的第一行时,无法在Android Studio中查看参数值

我只是从Eclipse切换到Android Studio,发现这种奇怪的行为。 当我在方法的第一行添加一个断点时,我看不到参数值。 我唯一能看到的就是this参考。 我要么做一个debugging步骤,要么在第一个断点后面设置断点来查看参数值。

任何人有这个问题或知道这里出了什么问题?

Solutions Collecting From Web of "当断点处于方法的第一行时,无法在Android Studio中查看参数值"

尝试closures您的jacocotesting覆盖范围内的build.gradle文件的debugging版本:

 debug { ... testCoverageEnabled false } 

这完全解决了升级gradle插件的问题。

在AOSP问题#123771解决之前,一个好的解决scheme是使用Stuart提供的评论部分中的代码片段:

 buildTypes { debug { [...] testCoverageEnabled true } release { [...] } debuggable.initWith(buildTypes.debug) debuggable { testCoverageEnabled false } } 

通过这种方式,您可以将testing覆盖率报告保留在debugging版本中,并且可以通过代码查看本地variables。

Google提供的解决scheme是将Android Studio Gradle插件升级到v1.0.1

我没有在我的gradle文件中:

 debug { ... testCoverageEnabled true } 

在Android Studio 2.2上遇到同样的问题 。 解决scheme,帮助我解决问题:

  1. 在IDEA设置中禁用即时运行
  2. 重build项目。
  3. 启用即时运行

如果你的版本使用杰克工具链,这可能是问题的根源。 在我的情况下,禁用插孔解决了这个问题:

 buildTypes { ... debug { jackOptions { enabled false } } } 

注:1.8源兼容性需要插孔!

当我想debuggingtestCoverageEnabled时,我厌倦了,所以设置一个项目属性以从Android Studio运行时禁用它,但默认情况下,从命令行运行时没有选项,如在构build框上启用。

 // Default to true, set -PtestCoverageEnabled=false in IDE compiler command-line options def isTestCoverageEnabled = { -> def enabled = project.hasProperty('testCoverageEnabled') ? testCoverageEnabled.toBoolean() : true println "testCoverageEnabled = " + (enabled ? "true" : "false") return enabled } android { buildTypes { debug { testCoverageEnabled isTestCoverageEnabled() } } } 

要在IDE中设置属性,请添加命令行选项-PtestCoverageEnabled=false

Android Studio – >首选项 – >生成,执行,部署 – >编译器 – >命令行选项