This is a problem with dx, which is the part of the build that turns your Java .class files into .dx files for packaging into Android. According to this:
https://code.google.com/p/android/issues/detail?id=34193
if a function has multiple return paths, dx merges the return instruction into a single return instruction, so during debugging, the debugger can't tell which line a return belongs to and things jump around. This corresponds to what I see when I try to reproduce your problem: each time through the loop it does the if (a == 3)
check, jumps to the return 0
at the end, and then jumps back into the loop. You're seeing that last return 0
get merged with the return retval
in the middle of the loop.
I doubt this will be fixed any time soon, so you may just have to learn to live with it. Sorry, I know it's kinda crazy.
Try Build -> Rebuild project and then Shift + F9. You have outdated code running on application.
Here's what worked for me, at least for stepping into Android SDK source code:
build.gradle
file and set the value of compileSdkVersion
accordingly.compileSdkVersion
back.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With