AWS身份令牌自动售货机 - Android代码错误

时间:2013-11-05 12:10:15

标签: android amazon-web-services tvm

我正在使用;

  • Eclipse Juno
  • ADT-22.3.0
  • AWS-Android的SDK-1.7.0

对于使用AWS Token Vending机器代码我从下面的链接使用了android的示例代码; http://aws.amazon.com/code/4598681430241367

根据说明,我在libs中添加了项目类路径;

  • 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;

以及如何在代码中使用它(Utilities类示例代码);

new DateUtils().formatIso8601Date( new Date() );

会欣赏任何指针

2 个答案:

答案 0 :(得分:0)

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

Running AWS SDK for Android samples in Eclipse with ADT v22

答案 1 :(得分:0)

不要加两个

  1. aws-android-sdk-1.7.0-debug.jar
  2. AWS-Android的SDK-1.7.0.jar
  3. 进入你的类路径。在运行时,它会创建有关类文件的冲突,因为这两个jar文件都具有通用名称的类文件。

    使用aws-android-sdk-1.7.0-debug.jar创建最大的APK,但在开发过程中允许完整的堆栈跟踪。或

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