0

我在我的 android 项目中使用第三方 jar 文件。当我将 jar 添加到构建路径时,通过 eclipse 项目 -> 属性 -> java 构建路径 -> 库 -> 添加外部 jar。

该项目编译良好,直到使用该 jar 中的任何类的代码行运行,并且我在运行时遇到类未找到异常并且程序崩溃。

我通过将第三方 jar 文件复制到我的项目的 libs 文件夹来解决它。类未找到异常消失。

问题:有人可以解释一下为什么这是必需的,为什么它不能仅仅使用来自项目属性的引用,尽管它编译得很好。为什么我必须将它显式复制到 libs 文件夹?

4

2 回答 2

0

文件夹“libs”中的所有库都由 Android Eclipse 插件找到,并添加到项目的“Android Dependencies”项中。这里有一个更好的说明:http ://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

于 2013-01-31T20:18:54.337 回答
0

当我将 jar 添加到构建路径时,通过 eclipse 项目 -> 属性 -> java 构建路径 -> 库 -> 添加外部 jar。

这不是使用 Android 构建工具的正确程序。

我通过将第三方 jar 文件复制到我的项目的 libs 文件夹来解决它。类未找到异常消失。

正确的。

有人可以解释一下为什么这是必需的吗?为什么它不仅可以使用项目属性的引用,尽管它编译得很好。为什么我必须将它显式复制到 libs 文件夹?

因为只有 JARslibs/被添加到 APK 文件中。Java 构建路径是纯编译时的东西,与 Android 的 APK 文件打包无关。

于 2013-01-31T20:13:12.673 回答