当前设置:
MainProject是一个图书馆项目
BranchProject是一个新项目,并以 MainProject 作为参考
每当我调试并且来自 MainProject 的文件处于焦点时(实际上 BranchProject 只有图形和 xml 布局更改),调试窗口就会打开一个只读的 .class 文件。我希望它打开 .java 文件,以便我可以直接编辑它。
当前设置:
MainProject是一个图书馆项目
BranchProject是一个新项目,并以 MainProject 作为参考
每当我调试并且来自 MainProject 的文件处于焦点时(实际上 BranchProject 只有图形和 xml 布局更改),调试窗口就会打开一个只读的 .class 文件。我希望它打开 .java 文件,以便我可以直接编辑它。
Skyler 在这篇文章中的回答对我有用: Open source code from debug view edits .class after Android R18 update
这是一个摘要:修复方法是在调试视图中右键单击项目名称,然后从菜单中选择“编辑源查找...”。从那里删除默认查找路径。之后,手动添加项目引用的关联项目(不是 jar)。这是通过单击添加,选择 Java 项目,然后检查适当的项目来完成的。
当您使用库项目时,您实际上正在做的事情之一是将您的库项目编译到一个 jar 中,然后在您的调用项目中引用该 jar。
如果您右键单击项目,然后选择“配置构建路径”,您将看到一个名为“库”的选项卡,如果您查看“Android 依赖项”,您会注意到与您的库项目相对应的 jar 列表。
这些罐子是可扩展的,向您展示它们有一个用于源附件的插槽。通常这将是可编辑的,允许您直接链接源,但就 ADT 而言,这些已填充且不可编辑。
调试这些文件时,您将链接到带有此附加源的只读类文件。这是因为您不是直接针对源文件运行,而是针对预编译的类文件运行。在 ADT 团队获得此功能之前,您几乎被迫跳转到直接源代码并重建所有内容。
编辑
请参阅@Steven 链接答案:)
.java
我在使用 Eclipse IDE调试文件时遇到了同样的问题。据我了解,当我们将xyz.class
文件xyz.java
文件或JAR
项目构建路径放置时,就会出现此问题。从项目类路径中删除.class
orJAR
文件,然后在调试模式下重新运行 .java 文件。这次您会看到一个未找到源的窗口。单击“未找到源”按钮并选中窗口底部的“查找重复项...”。你的问题解决了:)
问题是类文件优先于 java(默认情况下),这里是如何为 Eclipse 更改它(在 NEON 2 上测试):
我认为这取决于您如何在 Eclipse 中设置依赖项。您应该将 BranchProject 设置为依赖于 MainProject 的源文件。如果你依赖于 compiles Class-Files 很明显调试器会打开类文件,因为它不知道源文件。
我在这里找到了一个很好的解决方案:
在 Eclipse 中使用 Android 库并跳转到类文件而不是 Eclipse 工作区中的源文件
只需选择您的项目所依赖的每个库项目,然后使用 Top 或 Up 将其移动到项目输出上方。例如。将所有库项目移到顶部。
main project properties -> Java Build Path -> Projects
选项卡并添加主项目所依赖的项目。Order and Export
选项卡并取消选中Android Dependencies
如果您尝试了上述所有提示但仍然无法正常工作,请尝试此解决方案,它对我有用:
希望这可以帮到你
大多数情况下,在构建路径 Sources 选项卡中未添加特定的源文件夹时会发生这种情况。
右键单击Package-Explorer中的项目,单击构建路径->配置构建路径->源选项卡
如果您的项目源文件夹不存在,请添加源文件夹。 选择添加文件夹 ->专门选择您的项目源文件夹。例如: project_name/src 。然后应用它并重新启动服务器。