【问题标题】:NoClassDefFoundError when running app in emulator/phone在模拟器/手机中运行应用程序时出现 NoClassDefFoundError
【发布时间】:2015-09-16 16:11:36
【问题描述】:

我正在使用 Eclipse 来管理我的 Android 项目,该项目使用 Amazon 的适用于 AWS 的 Android 库。我已将库 jar 文件添加到 ./libs 文件夹,从该文件夹将库添加到我的 Java 构建路径(项目属性 -> Java 构建路径 -> 库 -> 添加 JARS ...)。我的应用程序编译正确,但是当我在模拟器或手机上运行它时,我得到一个 NoClassDefFoundError。我知道,当应用程序正确编译但库最终从导出的 apk 文件中丢失时,通常会引发此错误。

我错过了一步吗?

编辑:

这是直到我的应用程序引用它的堆栈跟踪。

java.lang.NoClassDefFoundError: org.apache.commons.httpclient.params.HttpClientParams
   at com.amazonaws.http.HttpClient.configureHttpClient(Unknown Source)
   at com.amazonaws.http.HttpClient.<init>(Unknown Source)
   at com.amazonaws.AmazonWebServiceClient.<init>(Unknown Source)
   at com.amazonaws.services.simpledb.AmazonSimpleDBClient.<init>(Unknown Source)
   at com.amazonaws.services.simpledb.AmazonSimpleDBClient.<init>(Unknown Source)
   at lee.medical.icu.dataentry.MainMenuActivity.connectToDb(MainMenuActivity.java:121)

【问题讨论】:

  • 你用过他们的入门指南吗? aws.amazon.com/articles/4225549089557252
  • 我重新阅读了指南并尝试使用外部 JAR。它仍然不起作用,奇怪的是。
  • 使用正确的 SDK 版本?清洁和建造? AWS 访问凭证?
  • 是的,是的,是的。虽然,既然您提到了 AWS 访问凭证,但我忘了提及该应用程序在创建 AWSCredentials 对象时似乎并没有失败,但在尝试创建 AmazonSimpleDB 对象时却失败了。我已经编辑了我的原始帖子以包含堆栈跟踪。
  • 另外,奇怪的是,我可以运行他们提供的 Android 示例。

标签: java android eclipse


【解决方案1】:

事实证明,AWS SDK 中的 jar 文件没有正确构建。看来他们错过了一个不再公开分发的旧 Apache 库。亚马逊已更新下载,库不再抛出 NoClassDefFoundError。

来源:Forum post on AWS mobile dev forums

【讨论】:

    【解决方案2】:

    您是否看到包视图中“引用的库”点中的库?如果没有,请在项目导航器中选择文件,右键单击它们“构建路径”->“添加到构建路径”

    【讨论】:

    • 该库已经在包视图中的引用库下。
    • 嗯……这很奇怪。 +1 因为我不知道为什么您的解决方案不起作用,而且我的项目在没有 Spidys 解决方案的情况下也能正常工作。
    • 只是为了让您知道,我已经编辑了原始问题以添加堆栈跟踪,以防有任何帮助。
    • 我只是想在这个问题上更新你。事实证明 SDK 中的 jar 文件没有正确构建。亚马逊已更新其 SDK。
    【解决方案3】:

    我遇到了同样的问题,我在下面的帖子中找到了解决方案。 简而言之,您可能希望将外部 jar 文件放在 libs 目录中(不在 lib 中) 然后通过右键单击项目将其包含为外部jar文件,然后

    properties >> java build path >> add external jars >> libs/yourLibrary.jar
    

    完整的解释是here

    【讨论】:

      猜你喜欢
      • 2016-04-29
      • 2016-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      相关资源
      最近更新 更多