将JAR添加到Android项目的/ libs文件夹中

时间:2013-05-14 19:15:28

标签: android jar noclassdeffounderror libs

关于这个问题有很多问题,但是没有一个问题可以解决这个问题(这真的很难吗?)

我正在尝试将jar添加到我的Android项目中。自17号以来,谷歌表示我们应该将这些罐子添加到/libs文件夹中,并且andriod工具将负责其余的工作。

我已经包含了一个非常大的库,除了一个类之外它工作得很好,所以我决定尝试制作自己的jar。

我创建了一个新的java项目,并添加了一个简单的Test类。然后我将其导出为jar并手动将jar复制到/libs文件夹中。我清理并重建了我的Android应用程序没有问题,但在运行时,引用Test类,我得到以下错误:

  

java.lang.NoClassDefFoundError:mytestpackage.Test

当我直接将jar的来源包含到我的项目中时,它当然有用。

那么我做错了什么?

3 个答案:

答案 0 :(得分:1)

  

自17号以来,谷歌表示我们应该将这些罐子添加到/ libs文件夹,并且andriod工具将负责其余工作。

正确。

  

那么我做错了什么?

如果我不得不猜测,除了将JAR复制到libs/之外,在Eclipse中执行了“添加到构建路径”(根据其他答案)。这不仅没有必要,而且报告表明这样做会以某种方式抑制实际将JAR从libs/打包到APK中。如果您确实这样做了,请撤消手动构建路径更改,看看是否有帮助。

答案 1 :(得分:1)

好吧,经过一天的努力,我发现我在库项目中将编译器级别设置为1.7,所以当我导出jar时,导出的编译级别高于android支持的编译级别(1.6)。

所以解决方案,在jar的项目中导出: Properties - > Java Compiler - > Enable specific settings - > Compiler compilance level - > 1.6

为我修好了,我希望它有用。

答案 2 :(得分:0)

您需要更新.classpath。在Eclipse中,标记库(放入/ libs)和Right click->Build Path->Add to build path