Eclipse中的“打开声明”导航到类文件,而不是Android库的源文件

我有两个Android项目“A”和“B”。 'B'取决于'A',是一个图书馆。 每当我在项目“B”中,点击“打开声明”以获得驻留在“A”中的Java源文件,Eclipse就会导航到类文件而不是源文件。 这当然有几个缺点!

我看了一下项目“B”的构buildpath,看看被引用的库“A”是否具有正确的源项目path。

任何人都知道如何解决?

这里是每个项目的.classpath和project.properties文件:

ProjectA .classpath

<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="src" path="gen"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry kind="output" path="bin/classes"/> </classpath> 

ProjectA project.properties

 # This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must be checked in Version Control Systems. # # To customize properties used by the Ant build system use, # "ant.properties", and override values to adapt the script to your # project structure. # Project target. target=android-8 android.library=true 

ProjectB .classpath

 <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="src" path="gen"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry kind="output" path="bin/classes"/> </classpath> 

ProjectB project.properties

 # This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must be checked in Version Control Systems. # # To customize properties used by the Ant build system use, # "ant.properties", and override values to adapt the script to your # project structure. # Project target. target=android-8 android.library.reference.1=../ProjectA 

Solutions Collecting From Web of "Eclipse中的“打开声明”导航到类文件,而不是Android库的源文件"

您不仅可以将库项目导入为Android库(也就是要完成这个任务),还可以将其作为通常的“Java Build Path”菜单中的链接项目。 接下来,一定要将这个导入移动到“订单和导出”选项卡的顶部(至less更多的是“库项目”条目)。

这工作,但它是一个黑客,它是肮脏的。 这不是要完成的方式…当你把应用程序部署到手机上时,eclipse会在控制台中写入一条错误信息,指出找不到一些apk文件。

不过,我发现连接到类文件更方便。

我不知道这是怎么回事 我在办公室里的朋友和我一样运行着相同的configuration,他们没有这个问题,但似乎我们不是唯一的这个问题: http : //code.google.com/p/android/issues/detail ?ID = 20731

当我的库项目A版本位于“属性> Java构buildpath>库”中,但没有在“属性> Java构buildpath>项目”中时,我遇到了同样的问题。

问题解决后,我做了以下几点:

  1. 从“属性> Java构buildpath>库”(我不知道这一步是否必要,但这是我所做的)添加的“属性> Java构buildpath>库”中删除“库项目”。
  2. 将项目A添加到“属性> Java构buildpath>项目”。
  3. 重新启动Eclipse(Indigo)。 Eclipse以某种方式在“属性> Java构buildpath>库”中重新创build库项目

.classpath应该具有以下内容:

 <classpathentry combineaccessrules="false" kind="src" path="/A"/> 

实际上,导航到类文件并不是最烦人的,但是在debugging过程中打破类文件而不是java文件,在这个问题解决之前让我疯狂。

什么对我有效:在“ Order”和“ Export”选项卡下移动lib项目 – 在主项目的/src/gen下面。

我的第一个猜测是你在B的构buildpath上有一个带有A的类的JAR。 检查库选项卡。 你能告诉我们你的.classpath和project.properties文件吗?

以下解决scheme适用于我:

转到android库项目(你的情况下,它是A)设置 – > Java构buildpath – >订单和导出,确保第一个条目是库(A)的源文件夹。 然后清理库项目和目标项目。 现在它工作得很好。