Торговый автомат для идентификации токенов AWS - ошибка кода Android

Я использую;

  • Затмение Юнона
  • ADT-22.3.0
  • AWS-андроид-СДК-1.7.0

Для использования кода AWS Token Vending я использовал пример кода для Android по ссылке ниже; http://aws.amazon.com/code/4598681430241367

В соответствии с инструкциями я добавил следующие библиотеки в classpath проекта;

  • AWS-андроид-СДК-1.7.0-debug.jar
  • AWS-андроид-СДК-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 ответа

Решение

Возможно, вам придется обновить настройки проекта Eclipse, чтобы обеспечить экспорт всех классов для Dexing. Пожалуйста, ознакомьтесь с инструкциями в следующем сообщении и посмотрите, решит ли это вашу проблему:

Запуск AWS SDK для образцов Android в Eclipse с ADT v22

Не добавляйте оба

  1. AWS-андроид-СДК-1.7.0-debug.jar
  2. AWS-андроид-СДК-1.7.0.jar

в ваш класс. Во время выполнения это создает конфликт относительно файлов классов, потому что у обоих jar-файлов есть файлы классов с общим именем.

Либо используйте aws-android-sdk-1.7.0-debug.jar, который создает самый большой APK, но допускает трассировку полного стека во время разработки. или же

Добавьте aws-android-sdk-VERSION.jar, который создает меньший APK и простой пакет при выпуске приложения.

Другие вопросы по тегам