我有我编写针对API级别21的应用程序: “源代码不匹配的字节码”
,然后对它进行调试与API级23在真实设备上:
问题是,当我通过Android OS自己的班级尝试调试,我得到的源代码,字节码不匹配“。这是为什么发生?应用程序运行的测试设备是API级别23,并且正在调试的源文件也是级别23。
我真的很困惑。任何人都可以解释为什么我看到这个消息,我怎么能解决它?
我有我编写针对API级别21的应用程序: “源代码不匹配的字节码”
,然后对它进行调试与API级23在真实设备上:
问题是,当我通过Android OS自己的班级尝试调试,我得到的源代码,字节码不匹配“。这是为什么发生?应用程序运行的测试设备是API级别23,并且正在调试的源文件也是级别23。
我真的很困惑。任何人都可以解释为什么我看到这个消息,我怎么能解决它?
有这个在AOSP,一些用户已经给出可能的解决悬而未决的问题: https://code.google.com/p/android/issues/detail?id=225199&sort=-id&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars
给出有可能的解决方案(如这篇文章的日期)为:
转到清洁
也许这个错误信息可能有多个原因,我的情况不像OP中的那种,在我的情况下,这是由于需要额外库的第三方库。
例如:你手动添加X.jar到你的LIB,但是这个X.jar需要Z.jar才能工作。
我花了一段时间才弄清楚,这个消息根本没有帮助。我不得不调试应用程序,直到我到达崩溃的类,并在该类中确保所有导入都满意。
(Particualry:我添加MercadoLibre-0.3.4.jar,这需要公共-httpclient.jar)
希望这有助于!
您应该使用与compileSdkVersion具有相同api级别的Android模拟器。 在你的情况下,你应该使用api level 21的Android模拟器。
这对我有效。我的设备是API 22,因此将compileSdkVersion设置为22解决了问题。 –
看起来像你的设备中的apk比当前代码更老或不同。我知道它很明显,但你有没有尝试卸载应用程序一次,然后再次安装? –
看来,错误与您的IDE的Intellij IDEA插件有关。我可以在这里找到一个bug报告https://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+2016.2+162.1812.2+Release+Notes。你可以请经过吗? –
@Akash我试过了。但是我正在调试的文件是Android OS(ContentResolver)的一部分,而不是我的应用程序。 – Crocodile