gpt4 book ai didi

java - 在模拟器/手机中运行应用程序时出现 NoClassDefFoundError [更新到上一个问题]

转载 作者:行者123 更新时间:2023-12-01 15:48:50 25 4
gpt4 key购买 nike

这是 this question 的更新我今天早些时候问过。

问题的简要重申:我有一个 Android 应用程序,需要使用适用于 AWS 的 Amazon Android SDK。我将必要的库(JAR 文件)添加到我的 Eclipse 构建路径中。但是,当我运行该应用程序时,该应用程序崩溃并出现 NoClassDefFoundError。

经过一番调查,我已经隔离了导致错误的代码。我制作了一个简单的虚拟 Android 应用程序,它使用了明显有错误的代码。单个Activity的源代码是here 。和here is the logcat output .

我注意到了一些奇怪的事情。如果库没有正确添加,它应该在第 34 行失败:

credentials = new BasicAWSCredentials( accessKeyId, secretKey );

但事实并非如此。相反,它在第 62 行失败,一直到第 48 行。

第 62 行:

sdb = new AmazonSimpleDBClient( credentials );

第 48 行(包含 47 行的一部分):

list.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, getInstance().listDomains().getDomainNames()));

有趣的是,SDK 提供的示例项目运行良好。这是 SimpleDB 的代码,这是源文件之一。我基本上已经复制并粘贴了一些调用访问 Amazon SimpleDB 的代码,但我的失败了,而示例却失败了。

那么,有人有什么想法吗?

<小时/>

事实证明,AWS 开发工具包中的 jar 文件未正确构建。看来他们错过了一个不再公开分发的旧 Apache 库。 Amazon 已更新下载,并且库不再抛出 NoClassDefFoundError。

来源:Forum post on the AWS mobile dev forum

最佳答案

在大多数情况下,NoClassDefFoundError 意味着类路径上存在该类的重复版本。我认为您应该检查您的依赖项/库是否有重复的 .class 文件。请首先在您的 jar-s 中检查此文件:org.apache.commons.httpclient.params.HttpClientParams

希望对你有帮助!

关于java - 在模拟器/手机中运行应用程序时出现 NoClassDefFoundError [更新到上一个问题],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6539642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com