我正在尝试在Eclipse中建立具有Android库项目依赖项的Android应用程序。我已经建立了一个名为AnTest的项目和一个名为AnLib的库项目。我在AnTest的项目属性中提供了对AnLib的引用。现在,我尝试引用AnTest中的一些库代码(静态公共(public)方法)。 Eclipse抛出“com.anlib.Hello无法解析为类型”。

并不是引用悬而未决-我可以看到资源已正确合并。但是在AnTest内部,com.anlib包中唯一的类是“R”。

拜托,我做错了什么?必须缺少一些非常基本的步骤...

编辑:我已经将AnLib添加到AnTest项目属性中的Java生成路径/项目中。现在可以编译,但是运行时会抛出NoClassDefFoundError异常...

最佳答案

在仔细查看了示例项目(TicTacToe)之后,我注意到类路径下有一些东西。这是到库源的链接文件夹。该应用程序的项目属性,即Java构建路径,在“源”下单击“链接源”,提供了指向library\src的路径。

毕竟没有魔术。

编辑:默认情况下,也不选择NDK(基于JNI的 native )库。必须在库项目中建立一个名为“libs”的链接文件夹。

EDIT2: native 库的行为似乎取决于ADT和/或Eclipse的版本。此外, Assets 不会合并,但是后面的部分实际上已记录在案。

EDIT3:在最新的Android工具下,库不再实现为链接源。请忽略此答案;当时确实是相关的,但现在不是。

10-06 12:58