这个问题有点混乱,但我试图解释我的意思。
(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 后,结果仍然存在。