0

这个问题有点混乱,但我试图解释我的意思。

(1) 是一个 Java 项目,用作具有访问文件和内容的方法的库。(2) 出于同样的原因,一个 android 库。仅适用于 Android 访问文件和内容的简单方法。

现在 (1) 和 (2) 在我的 Android 项目 (A) 的构建路径中链接。工作正常。我可以从这些库项目或它们包含的 jar 中访问任何方法。现在我有第二个 Android 项目 (B)。因此,我想通过将(A)中的活动等放入(2)中来使(B)可用。

Buuuuuuuuuut:其中一些复制的代码需要来自 (1) 的方法,这些方法现在在 (2) 中不可用,因为 (1) 和 (2) 彼此不了解。

想法:仅将 (1) 链接到 (2) [(1) 从 (A) 中删除] 并且 (2) 将作为库添加到 (A) 和 (B) 中以具有干净的层次结构。

结果:它不起作用,因为 (1) 中的所有内容在 (A) 和 (B) 中不再可用,并且 (2) 没有通过 (1) 中包含的罐子和方法。

同时将 (1) 链接到 (2) 和 (A) 和 (B) 会增加生成的 jar 的大小,因为所有内容都是安全的。

问题:有没有办法将 (1) 链接到 (2) 和 (2) 链接到 (A) 和 (B),但仍然可以使用 (1) 中的所有底层 jar 和方法?在我的理论中,这样做是合乎逻辑的,但 Eclipse 并没有跟进这个想法。也许我错过了一个设置。在 (2) 中,我将 (1) 设置为导出,希望它能解决任何问题。

问题解决了:

我已经做对了,但不知何故 Eclipse 没有对此做出反应。通过将 java 项目 (1) 导出为 jar 并将其包含到 (2) 中,Eclipse 最终理解为使用 (1) 中的方法。显然删除 jar 并切换回包含 java 项目 (1) 这种组合仍然有效。原因不明。在几次关闭和启动 Eclipse 后,结果仍然存在。

4

2 回答 2

0

我认为您应该能够转到您的 Android 库项目的属性,转到 Java Build Path,切换到选项卡 Order and Export 并选择 java 库,以便将其暴露给使用 Android 库的 Android 项目。

于 2013-08-29T09:08:21.810 回答
0

您可以通过以下方式链接 (1) 和 (2):

  1. 将 (1) 导出到 JAR 文件中。
  2. 将该 JAR 放入 (2) 的 libs/ 文件夹中。
  3. 进入(2)的项目属性进入“Java Build Path”窗口。
  4. 转到“订购和导出”选项卡。
  5. 选中“Android 私有库”旁边的框

您刚刚所做的是在项目 (2) 中插入一个“私有”库,并指示项目 (2) 以使其私有库对外部资源可见。

于 2013-08-29T09:16:23.580 回答