在Android R18更新后,从调试视图打开源代码编辑.class

sty*_*972 22 java eclipse debugging android

当我在Eclipse中调试我的代码时,当我打开编辑器发现我无法编辑它时,我感到恼火,因为我实际上正在查看.class文件的源代码.在调试模式下,如何让Eclipse打开.java文件而不是.class文件?

编辑:当我在我的代码中遇到一个断点时,它将我带到MyFile.class而不是MyFile.java,所以我可以看到我的代码但不能编辑它.

编辑:我猜它与Android和ADT R18有一些关系

sty*_*972 52

在我终于找到一些时间和充分的理由来深入研究这个问题后,我将详细阐述Thornbjorn的答案.

截至目前,Google改变了您的Android项目打包外部Android库的方式.在ADT R17中(我认为)它开始将外部项目源打包到.jar文件中,并将它们直接包含在Android Dependencies或/ libs文件夹中的项目中.

现在,当调试器遇到断点时,它会在.jar中显示源代码,实质上是告诉您编辑.class文件.问题是该文件是只读的,因此您必须手动查找.java源.(痛)

修复方法是在调试视图中右键单击项目名称,然后从菜单中选择"编辑源查找...".从那里,删除默认查找路径.之后,手动添加项目引用的关联项目(而不是jar).这可以通过单击Add,选择Java Project,然后检查相应的项目来完成.

  • 我搜索了很长时间才找到这个"编辑源查找..."选项.我终于找到了它在Debug VIEW中上面提到的地方!(列出堆栈和线程的窗口:))谢谢! (7认同)
  • 非常感谢!让我为那些仍然不知道如何修复的人写下详细的步骤.1.开始在eclipse中调试你的项目.2. Eclipse菜单:Window-> Show View-> Debug.3.在Debug视图中,右键单击您的项目名称,然后选择"Edit Source Lookup ..."4.无需删除"Default",只需单击"Add ..." - > Java Project - >(library)项目包含源文件.确保所选项目高于"编辑源查找路径"对话框中的"默认". (5认同)

Dav*_*ave 6

好吧,所以我讨厌成为"那个人",考虑到这个人工作的人数,但这对我来说根本不起作用.我的意思是"编辑源查找..."菜单项不在上下文菜单中.我没有错过在Debug Perspective中执行此操作的指令(可能在Debug Perspective中的Project Explorer中).我在应用程序运行时尝试了,而应用程序暂停了.我尝试检查应用程序项目的菜单(可能是指令所指的)和库的项目.没有骰子.这是最新的Eclipse构建.

但是,我能够解决这个问题:

  1. 在您的应用程序或您尝试链接源的库中设置断点.只要您尝试链接源的库具有在命中断点时将出现在调用堆栈上的函数,您实际上可以将它放在任何位置.
  2. 开始调试应用程序.
  3. 导航您的应用以点击断点.
  4. 确保您处于Debug透视图中.
  5. 在Debug选项卡(出现调用堆栈的位置)中,找到库中的任何函数.
  6. 右键单击该功能."Edit Source Lookup ..."菜单选项应该在那里(靠近底部).
  7. 从这里开始,说明与Styler相同.单击"添加",选择"Java项目"并添加项目(或多个项目).
  8. 在退出"编辑源查找..."窗口之前,如果您像我一样,您将看到Eclipse已选择将一堆内容添加到您未选择的列表中.其中一些东西(可能在名为"Android Private Libraries"的可扩展项目下)可能是您刚添加源的库的jar.从列表中删除这些jar.
  9. 利润!


Ser*_*gei 6

  1. 打开main project properties -> Java Build Path -> Projects选项卡并添加主项目所依赖的项目.
  2. 切换到Order and Export选项卡并取消选中Android Dependencies
  3. 请享用

  • 我已经尝试了_all_其他建议,这是对我有用的!谢谢! (2认同)