无法使用ADT v14调试库项目 - 找不到源

时间:2011-10-26 06:05:44

标签: android eclipse adt android-library

自从升级我当前的项目以在Eclipse中使用新的R14工具以来,我现在无法调试我的库项目中存在的任何代码。

当我在我的库项目代码中遇到断点时,而不是Eclipse打开原始源文件,它会打开JAR中包含的源文件的只读副本,并显示消息“Source not found”。 / p>

我一直在寻找解决方案,但尚未遇到任何问题。有没有人有任何建议?无法调试是一件非常痛苦的事。

修改

问题又回来了,我再也无法调试了。我没有改变任何项目设置或任何东西。非常令人沮丧。

7 个答案:

答案 0 :(得分:44)

尝试了上述所有内容并且它对我不起作用,但是此处详述的解决方法确实如此。

http://code.google.com/p/android/issues/detail?id=20731

  
      
  1. 开始调试,然后运行直到遇到断点(并准确地获取.class文件而不是你想要的.java)
  2.   
  3. 右键单击Debug透视图的Debug视图(例如在调用堆栈上),然后选择“Edit Source Lookup Path”
  4.   
  5. 将所有项目添加到“默认”上方,通过“添加...”> “Java项目”> “全选”
  6.   

(我正在使用来自http://tools.android.com/download的ADT 15.0.2预览)

答案 1 :(得分:17)

在遇到这个问题并进行一些研究之后,我遇到了这个帖子,另一个提示我。我已经把头发拉了出来。

事实证明问题在于你的项目的构建顺序(无论如何我的)。由于ADT / SDK v14改变了库项目的引用方式,因此构建顺序必须正确。确保首先构建应用程序使用的所有库。我只是将每个项目的“src”和“gen”文件夹移动到底部,现在它首先构建库,然后我可以调试它并通过主项目查看我的库文件的来源。

如果有人不知道在哪里这样做,在Eclipse中,右键单击您的项目和“Build Path”,然后单击“Configure Build Path”。然后,在“订购和导出”选项卡上,将项目的两个文件夹移动到库下方列表的底部。我为我的所有项目和图书馆项目做了这个。

您也可以在Eclipse中从Windows全局执行 - > Preferences-> General-> Workspace-> Build Order并将您的库项目移至顶部。我认为每个项目中定义的构建顺序会覆盖这个,所以你可能想在两个地方都这样做,以解决现在和未来项目的问题。

我希望这对您和遇到此烦人问题的其他人有所帮助。 :)

谢谢, 编

答案 2 :(得分:2)

我今天在一个项目中遇到了同样的问题。该项目由一个具有两个库依赖项的应用程序组成。在调试期间和在重写方法时使用自动完成时,我无法看到代码,Eclipse无法推断出正确的参数名称。

首先,通过显示'gen'文件夹被用作包含源的文件夹来表明问题。要检查这是否是同一个问题,请转到您的应用程序项目,打开Android依赖项并查看库依赖项的属性。位置路径说/ libraryprojectname / gen。

如果这也是您的问题,请转到每个图书馆项目的“订购和导出”标签,然后移动“src”项下方的“gen”项。一旦你单击OK,Eclipse就会运行一下,当你检查Android依赖属性时,位置路径应该是:/ libraryprojectname / src。打开单击依赖项并打开jar中的任何类。它应该显示来源。

我正在使用ADT插件20.0.3与Android SDK Tools 20.0.3和Android SDK Platform Tools 14。

答案 3 :(得分:2)

以下在Eclipse Juno上为我工作:

在项目属性/ Java构建路径中:

  • 在“项目”标签中,添加了我的图书馆项目。
  • 在“订购和导出”选项卡中,将我的库项目移至顶部,然后选中它们

不确定它是否相关,但Android SDK工具是rev 20.0.3,Android SDK平台工具是14。

祝你好运。

答案 4 :(得分:0)

我假设您正在打开图书馆项目,并在那里放置了刹车点。 试试这个:在主项目上打开Library Projects-> [yourlibrary.jar] - > [yourfile.class]从Package Explorer中,然后在.class文件中输入制动点。 这至少对我有用:)

答案 5 :(得分:0)

有时这种情况发生在我身上。不确定原因,但我解决的方法是:

从eclipse中删除主项目。 - Closs Eclipse - 删除库项目中的jar文件 - 打开Eclipse - 等待库项目编译 - 导入主项目

答案 6 :(得分:0)

Juno内部的ADT发布21也会出现此问题。作为解决方法,在调试透视图的“调试”视图中(您可以看到线程和方法调用跟踪),右键单击并编辑源查找路径。