当前位置: 首页 > 知识库问答 >
问题:

源代码与Android的view.java的字节码不匹配

呼延高超
2023-03-14

我正在尝试调试我的Android应用程序。当调试器到达view.java文件时,我会收到“源代码与字节码不匹配”的消息。我可以看到调试器在文件的错误部分。有人知道怎么修吗?

我正在Android10(API29)设备上调试。在Android Studio首选项->外观和行为->系统设置->Android SDK中,我已经确保所有内容都是最新的。我还多次清理和重建,删除缓存,重新启动Android Studio和设备,卸载/重新安装,更新Android Studio到4.0.1。在模块设置中,“编译Sdk版本”为29,目标Sdk版本和最小Sdk版本为29。没有任何帮助或有任何影响。在类似的帖子中建议了许多这些步骤。

它试图打开的view.java文件位于:~/library/android/sdk/sources/android-29/android/view/view.java。这应该是正确的文件,但是当我得到错误消息时,调试器在文件的错误部分。

戴上我的黑帽子,让我们假设我的笔记本电脑的view.java对该API级别是正确的:我的手机是否正在运行非标准代码,是否有任何方法可以检测或排除它?

共有1个答案

景修杰
2023-03-14

我想我知道发生了什么,我有一个解决这个问题的方法,当它发生在Android SDK文件上时。令人恐惧的是,Android SDK平台更新到了版本5,但源代码包没有更新。它仍然在修订1!为什么会发生这种情况,我无法解释:一个通情达理的人会期望两者同步。此截图显示源代码与Android Studio下载的二进制代码不匹配:

解决这个问题的唯一方法是手动下载所需的文件,并在SDK源目录中手动修补它们。这是丑陋的,这是不必要的,但如果你真的想通过一个特定的SDK文件,你必须这样做。

>

  • 找出你有什么Android构建。在你的设备上,转到“设置”->“关于手机”->“Android版本”,并记下你的“内部号码”值。我的是QQ3A.200805.001。

    使用以下页面查找与构建号对应的标记:https://source.android.com/setup/start/build-numbers#source-code-tags-and-builds。对于我的内部版本号,标记是:Android-10.0.0_r41

    下载此标记的AOSP源代码。这需要很长时间,如果你是第一次这样做。有关如何做到这一点的示例,请参见https://stackoverflow.com/a/14353644/259718。

    虽然android sources文件夹中的所有目录都不会被覆盖,但核心android文件会被覆盖。这些构成了来源材料的大部分。如果需要其他目录(例如“filterpacks”),则必须在其他AOSP目录(例如filterpacks的frameworks/base/media)中查找。

    下面是我只获得一个单独文件所遵循的步骤:

    • 要下载单个文件,请将“?format=text”添加到URL以获得base64编码版本。然后对其进行解码:cat file base64--decode.

  •  类似资料:
    • 我们正在调试我们的一个应用程序的问题,该问题只影响华为设备。为了调试它,我们购买了P20 Lite Ane-LX1。我们在代码中放置了一些断点,并正在调查整个堆栈跟踪。该设备安装了Android8.0,我们在Android Studio下载了相同的SDK。 当我们将设备附加到调试器并试图调查堆栈跟踪时,系统源文件中会出现以下错误: 在使用堆栈跟踪之后,我们可以确认源文件确实与设备上安装的文件不一致

    • 然后使用API级别23在实际设备上调试: 我真的很困惑。谁能解释一下为什么我会看到这条信息,以及我该如何修复它?

    • 当我为Google OAuth请求使用以下URI时,我得到以下错误: “域与重定向\u uri/origin不匹配。错误代码:2”。 谁能告诉我我做错了什么? https://accounts.google.com/o/oauth2/auth?client_id=client_id_copied_from_the_developer_console

    • 我应该得到的输出 我不确定发生了什么。

    • 问题内容: 我使用的是Max OS X 10.10.3,在没有模块存在之前,我终于在Python 3中对此进行了展示。 但是,现在当我尝试或时,我收到消息: 是否有任何Mac用户(使用Python 3)知道出了什么问题?有人使用过Zelle书和他的模块吗?谢谢。 问题答案: 为了后代:我遇到了同样的问题,并使用 该文件似乎以多种方式弄乱了(错误的结尾等);不知道怎么… 参见: 使用以下sed命令删

    • 我试图理解Android上碎片的概念。官方页面有一些代码片段和一个链接,它提到了整个源代码,名为。但是点击它,我会被重定向到这个页面