如何通过附带的Android库在Android项目中过渡地使用Java项目中的JAR?

如何通过附带的Android库在Android项目中过渡地使用Java项目中的JAR?,java,android,eclipse,project,Java,Android,Eclipse,Project,这个问题有点混乱,但我正试图解释我的意思 (1) 是一个Java项目,用作具有访问文件和内容的方法的库。 (2) android库也是出于同样的原因。仅针对Android的访问文件和内容的简单方法 现在(1)和(2)在我的Android项目(A)的构建路径中链接。 很好。我可以从这些库项目或它们包含的jar访问任何方法。 现在我有了第二个Android项目(B)。 所以我想把(A)中的活动等放在(2)中,以便(B)可以使用 布尤特: 有些复制的代码需要(1)中的方法,这些方法在(2)中目前不可用

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

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

现在(1)和(2)在我的Android项目(A)的构建路径中链接。 很好。我可以从这些库项目或它们包含的jar访问任何方法。 现在我有了第二个Android项目(B)。 所以我想把(A)中的活动等放在(2)中,以便(B)可以使用

布尤特: 有些复制的代码需要(1)中的方法,这些方法在(2)中目前不可用,因为(1)和(2)彼此不了解

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

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

同时将(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几次后,结果保持不变。

我认为您应该能够转到Android库项目的属性,转到Java构建路径,切换到选项卡顺序并导出并选择Java库,以便它暴露于使用Android库的Android项目。

您可以链接(1)和(2)作者:

  • 将(1)导出到JAR文件中
  • 将该JAR放在(2)的libs/文件夹中
  • 在“Java构建路径”窗口中进入(2)的项目属性
  • 转到“订单和导出”选项卡
  • 选中“Android私有库”旁边的复选框

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

    已经尝试过了。没用。我问题的最后一行是你的解释。我的有点太短了。这真是巫术。导出(1)为jar,这是与我以前尝试->工作的唯一区别。移除jar再次使用项目(1),而不是jar(与我已经尝试过的完全相同)仍然有效。我不明白它为什么有效,但我不怀疑它。问题解决了,很高兴有帮助。如果答案解决了你的问题,通常会接受答案(答案旁边的V符号)。它还可以帮助将来遇到此问题的其他人。