Eclipse Android项目,如何在工作区内引用库?

19
我按照这里找到的步骤(现在无法找到URL,抱歉)进行了操作,将我的Android项目在Eclipse中转换为99.9%的代码位于库项目中,并在同一工作区下创建了另外两个shell项目,它们主要只包含AndroidManifest.xml文件和一些资源文件。这样做是为了支持相同项目的2个版本,仅具有一些次要文本/图标更改。应用程序名称也不同,因此我可以同时发布它们到Android Market上。
自从我这样做以来,每编译10次左右,大约每天或两天一次,就会出现“dalvik error 1”和有关“Access already exists”的内容(Access是我的库项目中第一个Java单元的名称)。
为了“解决”这个问题,我进入我尝试构建的桩项目的Java构建路径,并从库选项卡中删除我主要库中的JAR文件。然后我可以在没有错误的情况下构建。
然后过了一会儿(可能是1或2天),当我编译我的桩项目时会出现有关缺少类的错误(而不是我的库)。所以我会回到Java Build路径,重新插入对JAR文件的引用,再次好了1或2天,然后我又回到了之前的错误。
这只是一个已知问题,需要我这样做,还是我可以通过重新组织我的项目/工作区来解决?目前我有:
1.库项目-只有2个库位于构建路径中:Android 2.1和com.android.ide.eclipse.adt.LIBRARIES
2.使用上述库的第一个桩项目-具有与上述项目相同的2个库,有时我使用“添加JAR”将JAR从上一个项目的bin文件夹中包含进来。
3.第二个桩项目-与第一个桩项目相同的库

我应该用构建路径选项下的其他选项之一,比如“Project”选项或者“Source”选项来引用我的“lib项目”中的JAR文件吗?我目前没有将它放在这些其他区域之下。

当我处于这种奇怪的状态时,“清理项目”也不起作用,我尝试了好几次,并在清理之间打开/关闭了IDE,但仍无法解决问题。

现在我们处于最终测试阶段,所以我的日常任务是:

  1. 在LIB项目中进行小更新(修复错误)

  2. 使用发布向导导出两个项目并更新Android市场和其他存放APK文件的地方

因此,如果可能的话,我希望这些步骤保持简单,而不必打开/关闭多个工作区或经过许多构建步骤。

1个回答

52

经典的Eclipse/Java方式

添加(工作区)库

  • 右键单击要插入的项目。
  • 点击属性
  • 选择Java Build Path
  • 选择Libraries选项卡。

现在,它取决于您如何编译您的库。因此,可以进行添加JARs...添加类文件夹。选择external变量以使用外部源。就这样。

添加一个工作区项目

  • 右键单击要插入的项目。
  • 点击属性
  • 选择Java Build Path
  • 选择Projects选项卡。

在右侧点击添加...即可完成。

额外的Android方式

需要两个步骤:

  • 标记您要用作库项目的项目
  • 引用标记的项目

标记库项目

右键单击您的项目并选择属性。在左侧选择Android并勾选复选框IsLibrary。完成。

引用标记的项目

右键单击您的项目并选择属性。在左侧选择Android添加...您标记的项目。它将被添加到列表中并准备好使用。现在,您可以从引用的、已标记的项目访问所有类和资源(例如drawables、strings)。很赞,不是吗? :)


我忘记了我早期采用了“Android方式”,后来我又采用了类的方式。在几天之内,我才能确定问题不会再次出现,但我相信这与我曾经同时采用两种方式有关。我认为,你应该选择其中一种,而不是两种都做。我记得一开始使用Android方式时遇到了问题,但那可能与现在无关并已解决。谢谢! - eselk
1
很棒的答案,对我帮助很大。 - Raghu Mudem
非常有帮助,谢谢!此外,您可能需要确保在“属性 > Java Build Path > Source”中没有错过库的任何源路径,它应该包含库的Java源路径以及任何AIDL文件的条目(如果库有)。 Eclipse导入使用gradle/Maven/Android Studio创建的库时可能会出现错误。 - user149408

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接