1

我对将外部 .jar 文件添加到我的项目感到非常困惑。

我下载了 https://github.com/chrisbanes/Android-PullToRefresh库项目。

将其导入 Eclipse 后,我清理并构建了它。

之后,在库项目的 bin/ 文件夹中,有一个 .jar 文件。

接下来,我将此 .jar 文件复制到我要从中引用它的项目的 /libs 目录中。

据我了解,从现在开始,无需将库项目保留在我的工作区中,因为我将 .jar 文件添加到了我的项目中。

项目树的图片: https ://www.dropbox.com/s/7w4tzis8v1vv4aj/jarProblem.png

当我在库项目打开的情况下运行引用项目时:没有问题。

一旦我关闭库项目: NullPointerException <- 似乎找不到库。

我已经尝试了构建路径配置的所有可能组合,但我无法在 pulltorefresh 项目关闭的情况下构建我的主项目。

我认为这是一个 .jar 文件的意义,无需附加源文件即可分发库。

它应该与 android-support-v4.jar 一样工作......我也没有源代码。

我在这里想念什么?谢谢你。

4

1 回答 1

3

jar 文件和库项目之间存在差异。

Jar 文件只能包含代码,不能包含 android 资源。这些只需要放在你的 libs 文件夹中并链接进去。

库项目可以包含 Android 资源。它们需要在 Eclipse 中编译为 Android 库,并作为自己的项目保留。然后你告诉你的主项目它引用了这个。有必要保留库项目,因为它需要从中构建 /gen 文件才能使您的资源正确。它还需要能够获取其资产文件夹的内容。

鉴于这个库有一个 res 文件夹,它是一个 Android 库项目,不能用作简单的 jar。

于 2013-07-05T21:33:44.797 回答