java.lang.NoClassDefFoundError na Androidzie z GoogleAccountCredential.newChooseAccountIntent ()

Opracowuję dla Androida 4+ pakiet Eclipse Juno ADT + wtyczkę Google dla Eclipse. Muszę programowo zalogować się na konto google, aby korzystać z interfejsu API Kalendarza Google. W tym celu korzystam z menedżera kont. Otrzymuję następujący błąd:

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): ...

Oto kod, który to powoduje:

GoogleAccountCredential credential;

credential = GoogleAccountCredential.usingOAuth2(this, CalendarScopes.CALENDAR);

chooseAccount();

private void chooseAccount() {

  startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_PICKER);

}

Przeszukałem stackoverflow dla rozwiązań. Katalog libs zawiera pliki biblioteki kalendarza dla eclipse I zaimportowane przez wtyczkę google dla eclipse (które również umieszczają tam biblioteki uwierzytelniania itp.):

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

Te jednak nie obejmują

com.google.android.gms.common.AccountPicker

Jeśli zaimportuję to do mojego kodu, linia importu kodu zostanie oznaczona jako błąd. Więc co tam. Skopiowałem ten kod z Przykładu Kalendarza Google, gdzie działa dobrze:

http://samples.google-api-java-client.googlecode.com/hg/calendar-android-sample/

Ten kod ma dokładnie te same biblioteki z wyjątkiem:

Calendar lib to rev33 zamiast rev41Brakuje bibliotek jackson i jackson-asl.properties dla każdego pliku biblioteki obecnego w kodzie przykładowym, ale nie w moim kodzie

Więc to nie powinno być problemem. Jednak patrząc w sekcji importu kodu, przykładowy kod kalendarza google ma:

import com.google.android.gms.common.GooglePlayServicesUtil;

ale jeśli spróbuję wstawić ten wiersz kodu do mojego kodu, zostanie on oznaczony jako błąd informujący, że nie można rozwiązać importu com.google.android.gms.common.GooglePlayServicesUtil.

Ten post

java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker

mówi, że byli w stanie

import com.google.android.gms.common.AccountPicker;

Ale chciałbym wiedzieć, z której biblioteki pochodzi.

Próbowałem nawet sprawdzić oryginalną próbkę kalendarza android dla biblioteki, z której mogę dołączyć com.google.android.gms.common. *, Sprawdzając jeden plik na raz, ale nie mógł go znaleźć. Jak to jest możliwe?

Co ja robię źle?

Bardzo dziękuję za całą pomoc.

questionAnswers(2)

yourAnswerToTheQuestion