【问题标题】:Adding a JAR into the Android project's /libs folder将 JAR 添加到 Android 项目的 /libs 文件夹中
【发布时间】:2013-05-09 04:46:44
【问题描述】:

关于这个问题有很多,但没有一个给出明确的解决方案(真的有那么难吗?)

我正在尝试将一个 jar 添加到我的 Android 项目中。从 r17 开始,Google 说我们应该将 jars 添加到 /libs 文件夹中,而 Android 工具将负责其余的工作。

我已经包含了一个非常大的库,它运行良好,除了一个类,所以我决定尝试制作自己的 jar。

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

java.lang.NoClassDefFoundError: mytestpackage.Test

当我将 jar 的源代码直接包含到我的项目中时,它可以工作(当然)。

那我做错了什么?

【问题讨论】:

    标签: android jar noclassdeffounderror libs


    【解决方案1】:

    从 r17 开始,Google 表示我们应该将 jars 添加到 /libs 文件夹中,其余的将由 andriod 工具处理。

    正确。

    那我做错了什么?

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

    【讨论】:

      【解决方案2】:

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

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

      这对我来说已经解决了,我希望它有用。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2015-06-04
          • 1970-01-01
          • 1970-01-01
          • 2017-01-30
          • 2012-04-16
          • 1970-01-01
          • 2016-05-10
          • 2012-04-10
          • 2021-12-23
          相关资源
          最近更新 更多