我正在使用;
- 日食朱诺
- ADT-22.3.0
- AWS-Android-SDK-1.7.0
为了使用 AWS 代币自动售货机代码,我使用了以下链接中的安卓示例代码;http://aws.amazon.com/code/4598681430241367
根据说明,我将以下库添加到项目类路径中;
- aws-android-sdk-1.7.0-debug.jar
- aws-android-sdk-1.7.0.jar
当我在模拟器和设备中运行时;我在运行时收到以下错误(编译时没有错误)
java.lang.NoClassDefFoundError: com.amazonaws.util.DateUtils
at com.amazonaws.tvmclient.Utilities.getTimestamp(Utilities.java:28)
at com.amazonaws.tvmclient.LoginRequest.buildRequestUrl(LoginRequest.java:50)
....
但是,当我检查时在代码中 - 该类已导入并且没有编译时错误
import com.amazonaws.util.DateUtils;
以及如何在代码中使用它(实用程序类示例代码);
new DateUtils().formatIso8601Date( new Date() );
将不胜感激任何指示
您可能需要更新 Eclipse 项目设置,以确保所有类都导出到 Dexing。 请查看以下博客文章中的说明,看看这是否可以解决您的问题:
使用 ADT v22 在 Eclipse 中运行适用于 Android 的 AWS 开发工具包示例
不要同时添加两者
- aws-android-sdk-1.7.0-debug.jar
- aws-android-sdk-1.7.0.jar
到您的类路径中。在运行时,它会在类文件方面产生冲突,因为两个 jar 都具有具有公用名的类文件。
要么使用 aws-android-sdk-1.7.0-debug.jar它会创建最大的 APK,但允许在开发过程中进行全栈跟踪。
添加 aws-android-sdk-VERSION.jar这会在发布应用程序时创建一个较小的 APK 和一个简单的捆绑包。