在eclipse中使用Android库并跳转到类文件而不是eclipse工作区内的源文件

Ren*_*tik 13 eclipse android

我发现这个错误http://code.google.com/p/android/issues/detail?id=20731已经解决,但它并没有完全解决这个问题,但我在评论中看到这里提到了这个问题.是否有某种方式在eclipse中以某种方式在项目中设置依赖项,当我在eclipse编辑器中时,我将能够正常跳转到源代码?我尝试了很多方法来解决这个问题.

我的设置是:

在Android> Library中安装Android库的Android项目

工作区内的Android库项目,依赖于Java库项目

工作区内的Java库项目,作为类文件而不是源文件打开!

  1. 通常通过构建路径包含java库项目(这导致构建失败)[2012-03-13 11:07:21 - Taxicar Driver Android] Dx UNEXPECTED TOP-LEVEL EXCEPTION:java.lang.IllegalArgumentException:已添加:Lrensoft /的java /集合/ GenericIterator; [2012-03-13 11:07:21 - Taxicar Driver Android] Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)[2012-03-13 11:07:21 - Taxicar Driver Android] Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:163)

  2. 不包括,项目运行正常,但编辑器跳转到库类文件.

请注意,我必须通过构建路径包含Android库项目,即使它没有它运行正常(它足以设置为依赖的android库),但是当我删除它时,我也将这些文件作为类文件:).

所以我认为正确的方法不是通过构建路径包括项目,而是如何设置项目跳转到源?

Her*_*mps 7

我遇到了类似的问题 - Open Declaration命令会调出.class文件而不是.java文件.然而,当我在我的Android应用程序项目中使用Open Declaration来获取我的Android库项目中的某些源时,我的问题就出现了.通过遵循本博客评论中的一些说明,当我使用Open Declaration命令时,Eclipse现在将我带到.java文件(而不是.class文件).

说明是:

  1. 右键单击您的项目,选择" 属性"
  2. 选择Java Build Path页面
  3. 选择订单和导出选项卡
  4. 选择项目所依赖的每个库项目,并使用Top或Up将其移动到项目输出上方.例如.将所有图书馆项目移至顶部.

这为我修复了goto .java而不是.class文件问题.

(不幸的是,在进行这些更改后,会出现此问题(至少它对我有用):找不到Library.apk!)

然后我设置为你在你的问题描述我的工作空间(Android应用程序取决于Android的图书馆项目依赖于Java库项目),我发现,开放宣言总是带我去.java文件,所以这一切似乎在这方面进行工作确定.

重构

我试图重构一个在Android库中的类中定义的方法.一个带有"问题"的弹出窗口

已找到对重构元素的二进制引用.它们不会更新,如果继续,可能会导致问题.

但是在按下Continue之后,重构没有任何问题.

然后我尝试重构一个在Java库中的类中定义的方法.这次我没有得到任何弹出窗口,重构工作正常.

这些天java库方面可能只是工作,因为你们提到的错误已得到修复...(我使用Eclipse 4.2.0和ADT 20.0.3).我想我会添加这个答案,但是它可以帮助有人将Open Declaration的问题跳转到.class而不是.java文件.


Ren*_*tik 2

我找到了解决方案。我还必须从我的 java 库创建 Android 库,然后将其包含为 android 库和 Java 库,然后我必须重新排序构建路径导出项,以便 Android“Library Projects\xe2\x80\x9d 位于最后。没有太多工作,现在甚至重命名重构也有效,有一些警告但有效:),好吧,我再次成为快乐的开发人员。

\n