0

我在用;

  • 日蚀朱诺
  • ADT-22.3.0
  • aws-android-sdk-1.7.0

为了使用 AWS Token Vending 机器代码,我使用了来自以下链接的 android 示例代码; 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() );

将不胜感激任何指针

4

2 回答 2

0

您可能需要更新 Eclipse 项目设置以确保为 Dexing 导出所有类。请查看以下博客文章中的说明,看看这是否能解决您的问题:

使用 ADT v22 在 Eclipse 中运行适用于 Android 的 AWS 开发工具包示例

于 2013-11-05T15:53:57.863 回答
0

不要同时添加

  1. aws-android-sdk-1.7.0-debug.jar
  2. aws-android-sdk-1.7.0.jar

进入你的类路径。在运行时,它会产生关于类文件的冲突,因为两个 jar 都有具有共同名称的类文件。

使用 aws-android-sdk-1.7.0-debug.jar 来创建最大的 APK,但允许在开发期间进行完整的堆栈跟踪。或者

添加 aws-android-sdk-VERSION.jar,它会在发布您的应用程序时创建一个更小的 APK 和一个简单的包。

于 2014-01-31T14:14:40.560 回答