【问题标题】:Android -- include jar cause 'class not found' exceptionAndroid -- 包含 jar 导致“找不到类”异常
【发布时间】:2013-12-16 06:35:42
【问题描述】:

我想将 Netty 的 jar 包含到我的 android 项目中。

我试过adding it directly as a reference,但我得到的是java.lang.NoClassDefFoundError,它指向一个来自Netty的类。

另一种方法是将库直接放入libs 文件夹中,当我这样做时,Eclipse 的Android 插件会自动将libs 文件夹中的jar 包含到“android 私有库”中。在那种情况下,我似乎无法附加来源。

我尝试删除android私有库,并通过参考库链接所有内容。似乎android无法从参考库中找到类;因为它导致了NoClassDefFoundError 异常。

我想知道是否有适当的方法来解决这个问题。

注意:我知道有很多关于这个问题的帖子..比如这个方法(来自上面的链接):

  1. 在项目的根文件夹中创建一个名为libs的文件夹
  2. 将您的JAR 文件复制到libs 文件夹
  3. 现在右键单击 Jar 文件,然后选择 Build Path > Add to Build 路径,它将在您的文件夹中创建一个名为“Referenced Libraries”的文件夹 项目

但这只是导致NoClassDefFoundError 异常。

我正在使用 Eclipse Kepler。

【问题讨论】:

    标签: android eclipse settings installation


    【解决方案1】:

    我通过以下步骤解决了此类问题:

    1. 转到 Java 构建路径->订购和导出
    2. 为所有库启用复选框
    3. 点击确定
    4. 清理并重建您的项目

    【讨论】:

    • 这个解决方案几乎解决了我的问题,需要添加的一个步骤是你必须清理和重建。
    【解决方案2】:

    我认为您没有检查 Android 私有库。看看this的回答

    【讨论】:

      【解决方案3】:

      尝试运行 Project → Clean(选择所有项目)。它应该清理并重建一切。

      如果 eclipse 没有导入 jar,你的 java 文件中会有错误。如果您的项目正在构建且没有错误,甚至尝试在模拟器或设备上启动,则可能是编译问题。这个问题在使用 gradle 时经常发生。最好的解决方案是清理一切并重建:)

      【讨论】:

        【解决方案4】:

        以上所有步骤都会一次又一次地给你同样的错误。不要害怕我会解决你的问题:

        1. 不要添加外部.jar 文件,而是将其从库中删除。
        2. 将您的驱动程序文件复制到项目 web-inf/lib(ex.ojdbc14.jar)
        3. 运行您的动态应用程序。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-02-16
          • 2015-05-30
          • 1970-01-01
          • 1970-01-01
          • 2012-05-16
          • 2011-02-02
          • 2021-10-07
          相关资源
          最近更新 更多