【发布时间】: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 示例。