如何调试android SDK类?

时间:2016-12-03 09:35:35

标签: android debugging android-studio sdk

我想检查为什么有时我的invalidate()不会调用onDraw。 1步:我在invalidate()上设置断点。

2步:点击" Step Into"按钮(也试过"强制进入")。但调试器不在invalidate()内。它改为getElevation()。为什么呢?

picture 1

另外,我尝试在行类的invalidate(true);中设置一个断点在View类的invalidate()方法中。但它仍然无法到达。它说"没有可执行代码..."。

picture 2

2 个答案:

答案 0 :(得分:1)

我部分地解决了。 设备版本必须与SDK源版本,compileSdkVersion,buildToolsVersion,targetSdkVersion相同。

在我的案例中,SDK源API 24。

的build.gradle:

compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
    targetSdkVersion 24
    ...
}

现在跟踪工作(仅在API 24设备上使用这些参数)但断点仍然不起作用(相同无可执行代码错误)。

答案 1 :(得分:0)

您可以尝试为build.gradle中的targetSdkVersion下载 Android SDK源代码,看看是否可以在方法内调试。

但请注意,最新的Android API 25还没有可用的源代码。