java.lang.NoClassDefFoundError на Android с GoogleAccountCredential.newChooseAccountIntent ()
Я разрабатываю для Android 4+ с пакетом Eclipse Juno ADT + плагин Google для Eclipse. Мне нужно программно войти в учетную запись Google, чтобы использовать API Календаря Google. Для этого я использую менеджер аккаунта. Я получаю следующую ошибку:
05-05 13:28:55.605: E/AndroidRuntime(11186): FATAL EXCEPTION: main
05-05 13:28:55.605: E/AndroidRuntime(11186): java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker
05-05 13:28:55.605: E/AndroidRuntime(11186): at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.newChooseAccountIntent(GoogleAccountCredential.java:171)
05-05 13:28:55.605: E/AndroidRuntime(11186): ...
Вот код, который вызывает это:
GoogleAccountCredential credential;
credential = GoogleAccountCredential.usingOAuth2(this, CalendarScopes.CALENDAR);
chooseAccount();
private void chooseAccount() {
startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_PICKER);
}
Я искал stackoverflow для решения. Каталог libs содержит файлы библиотеки календаря для eclipse, которые я импортировал через плагин google для eclipse (который также помещает туда библиотеки аутентификации и т.д ...):
android-support-v4.jar
google-api-client-1.14.1-beta.jar
google-api-client-android-1.14.1-beta.jar
google-api-services-calendar-v3-rev41-1.14.2-beta.jar
google-http-client-1.14.1-beta.jar
google-http-client-android-1.14.1-beta.jar
google-http-client-gson-1.14.1-beta.jar
google-http-client-jackson-1.14.1-beta.jar
google-http-client-jackson2-1.14.1-beta.jar
google-oauth-client-1.14.1-beta.jar
gson-2.1.jar
jackson-core-2.1.3.jar
jackson-core-asl-1.9.11.jar
jsr305-1.3.9.jar
Эти, однако, не включают
com.google.android.gms.common.AccountPicker
Если я импортирую это в мой код, строка импорта кода помечается как ошибка. Ну что, как поживаешь. Я скопировал этот код из примера Календаря Google, где он отлично работает:
http://samples.google-api-java-client.googlecode.com/hg/calendar-android-sample/
Этот код имеет точно такие же библиотеки, кроме:
календарь lib является rev33 вместо rev41библиотеки Джексона и Джексона-Асля отсутствуютФайл .properties для каждого файла библиотеки, присутствующего в примере кода, но не в моем кодеТак что это не должно быть проблемой. Однако, глядя в разделе импорта кода, пример кода Google Calendar имеет:
import com.google.android.gms.common.GooglePlayServicesUtil;
но если я пытаюсь вставить эту строку кода в мой код, она помечается как ошибка, указывающая на то, что импорт com.google.android.gms.common.GooglePlayServicesUtil не может быть разрешен.
Эта почта
java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker
говорит, что они смогли
import com.google.android.gms.common.AccountPicker;
Но я хотел бы знать, из какой библиотеки это произошло.
Я даже попытался найти в исходном образце календаря Android библиотеку, из которой я могу включить com.google.android.gms.common. *, Проверяя один файл за раз, но не смог найти его. Как это возможно?
Что я делаю неправильно?
Большое спасибо за вашу помощь.