在设备上调试时“源代码与字节码不匹配”

我有一个应用程序,我正在根据API级别21编译:enter image description here

然后在 API 级别为 23 的真实设备上进行调试:

enter image description here

问题是,当我尝试通过Android操作系统自己的类进行调试时,我得到“源代码与字节码不匹配”。为什么会发生这种情况?运行应用的测试设备是 API 级别 23,正在调试的源文件也是级别 23。*enter image description here*

我真的很困惑。任何人都可以解释为什么我看到此消息以及如何修复它?


答案 1

Google的Profetracker中有一个悬而未决的问题

问题中给出的潜在解决方案(截至本文发布之日)是:

  • 单击“生成 ->清理”
  • 禁用即时运行,在“设置->生成、执行、部署

答案 2

这是我的解决方案:

如果您有多个库版本,这可能会有所帮助。

  1. 在 lib 源代码上设置断点
  2. 让代码运行到断点
  3. 您将获得这些提示

enter image description here

  1. 单击箭头图标

  2. 你会得到这个

    enter image description here

  3. 双击以选择正确的库(通常库的最高版本是正确的)

我错误地单击了“禁用”按钮,您可以在调试器设置中启用它

enter image description here

如果您没有步骤3中的提示,也许您可以检查是否已选中设置选项


推荐