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