Android Google API Java-клиент com.google.api.client.auth.oauth2.draft10

Я пытался сделать простое приложение, используя API Google Tasks. Что-то простое превращается в кошмар. Может быть, это что-то простое, наверное, это так, но я не могу понять.

Проблема: я следовал примеру TasksSample.java из Google, но не могу скомпилировать даже после импорт необходимых библиотек и зависимостей. Я использую Google API Java Client version 1.5.0.

Проблема в том, что когда я обращаюсь к классу GoogleAccessProtectedResource. Импорт это:

import com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAccessProtectedResource;

Я всегда, и я имею в виду всегда, независимо от того, какой код у меня есть, получаю следующую ошибку:

09–26 03:14:38.372: ОШИБКА/dalvikvm(18731): не удалось найти класс «com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAccessProtectedResource», на который ссылается метод com.greven.test.google. .tasks.GoogleTasksTake100Activity.
09–26 03:14:38.402: ОШИБКА/AndroidRuntime(18731): НЕИСПРАВНОЕ ИСКЛЮЧЕНИЕ: main
09–26 03:14:38.402: ОШИБКА/AndroidRuntime(18731): java.lang .NoClassDefFoundError: com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAccessProtectedResource

Я действительно не вижу, где проблема. Я импортировал все необходимые .jars... наверное

Как вы можете видеть на этом рисунке, класс явно импортирован:

Снимок экрана

Итак, какие еще варианты у меня есть, чтобы исправить это? Использовать Мавен? Я сейчас не в курсе. Я никогда не думал, что у меня будет такая проблема. О, я также тестировал на разных компьютерах другой клиент Google Java API (версия 1.4), и произошло то же самое. Заранее спасибо.


person greven    schedule 26.09.2011    source источник


Ответы (1)


Судя по вашему снимку экрана, ваш импортированный jar-файл импортируется в Eclipse, однако для работы вашего Android-приложения вам нужно, чтобы эти jar-файлы были помещены в определенную папку, чтобы они были добавлены в ваш APK, и поэтому эмулятор и устройства Android находят Это.

Кажется, вы должны поместить эти банки в папку с именем /libs в корне вашего проекта. См. этот вопрос SO: Как я могу использовать внешние JAR в проект Android?

В статье, на которую вы ссылаетесь, также используется папка /assets, но это могло измениться несколько версий Android назад.

person Nicolas Garnier    schedule 12.06.2012