我对将外部.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相同...我也没有源代码。
我在这里缺少什么?谢谢。
答案 0 :(得分:3)
jar文件和库项目之间存在差异。
Jar文件只能包含代码,没有android资源。这些只需要放在你的libs文件夹中并链接在。
图书馆项目可以包含Android资源。它们需要在Eclipse中编译为Android库,并作为自己的项目保存。然后,您告诉主项目它引用了这个。它必须保持库项目,因为它需要从它构建/ gen文件,以使您的资源正确。它还需要能够获取其资产文件夹的内容。
鉴于此库有一个res文件夹,它是一个Android库项目,不能用作简单的jar。