2

我试图在 Eclipse v3.7.2 中将 loopj .jar 库添加到我的项目中

首先,我将 .jar 添加到“lib”目录中,右键单击它并选择“添加到构建路径”。它编译得很好,但是在执行时出现错误“找不到类'com.loopj.android.http.AsyncHttpClient'。

所以我从构建路径中删除了 .jar,并将其移动到“libs”目录中。

当它在“libs”目录中时,无需添加构建路径,这次它编译良好,执行也很好。

那么“lib”目录和“添加到构建路径”与“libs”目录之间的细微差别是什么?

4

2 回答 2

7

那么“lib”目录和“添加到构建路径”与“libs”目录之间的细微差别是什么?

Android 当前的构建工具(Eclipse 和命令行)期望 JAR 位于一个libs/目录中。它会自动将这些 JAR 添加到您的编译时构建路径中。更重要的是,它将 JAR 的内容放入您的 APK 文件中,因此它们将成为您运行时构建路径的一部分。

手动使用lib/和修改您的构建路径将解决编译时问题,但是您的 JAR 内容不在您的 APK 中,因此您在运行时将无法使用。

于 2013-03-29T16:24:30.597 回答
1

引用:http ://tools.android.com/recent/dealingwithdependenciesinandroidprojects

如果您仍然手动引用 jar 库而不是将它们放在 libs/ 下,请注意以下几点:

  • 如果项目是库项目,这些 jar 库将不会自动对应用程序项目可见。你真的应该把这些移到libs/
  • 如果项目是应用程序,这可以工作,但您必须确保将 jar 文件标记为已导出
于 2014-04-10T07:26:18.070 回答