Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'Source code does not match the bytecode' when debugging on a device

I have an app which I am compiling against API level 21: enter image description here

and then debug it on a real device with API level 23:

enter image description here

The problem is when I try debugging through the Android OS's own classes, I get 'Source code does not match the bytecode'. Why is this happening? The test device the app is running on is API level 23, and the source file being debugged is level 23 as well. *enter image description here*

I am really confused. Can anyone explain why I am seeing this message and how I can fix it?

like image 551
Crocodile Avatar asked Oct 12 '16 04:10

Crocodile


People also ask

What converts source code to byte code?

The Java compiler (javac) converts the source code into bytecode. Bytecode is a kind of average machine language. This bytecode file (. class file) can be run on any operating system by using the Java interpreter (java) for that platform.


1 Answers

There's an open issue for this in Google's IssueTracker.

The potential solutions given in the issue (as of the date of this post) are:

  • Click Build -> Clean
  • Disable Instant Run, in Settings -> Build, Execution, Deployment
like image 81
Michael Hoffmann Avatar answered Oct 18 '22 09:10

Michael Hoffmann