我正在爲Android 4+開發Eclipse + Eclipse Juno ADT bundle + Google Plugin for Eclipse。 我需要以編程方式登錄到Google帳戶才能使用Google Calendar API。對於 ,我正在使用客戶經理。我得到以下錯誤:Android上的java.lang.NoClassDefFoundError with GoogleAccountCredential.newChooseAccountIntent()
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);
}
我已經搜索計算器的解決方案。 libs目錄包含日曆 庫文件月食我通過谷歌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
如果我在我的代碼中導入該代碼,導入的代碼行會被標記爲錯誤。 所以發生了什麼。我已經複製從谷歌日曆樣的地方 運行良好此代碼:
http://samples.google-api-java-client.googlecode.com/hg/calendar-android-sample/
該代碼已經一致,除了相同的庫:
- 日曆LIB是rev33代替rev41
- jackson和jackson-asl庫缺失
- .properties文件,用於示例代碼中存在的每個庫文件但不包含在我的代碼中
所以這不應該是問題。然而, 看在代碼的進口部分中,谷歌日曆的示例代碼有:
import com.google.android.gms.common.GooglePlayServicesUtil;
,但如果我試圖插入我的代碼這行代碼就被標記爲錯誤 說進口玉米.google.android.gms.common.GooglePlayServicesUtil 無法解析。
這篇文章
java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker
說,他們能夠
import com.google.android.gms.common.AccountPicker;
但我想知道來自哪一個庫。
我甚至通過一次檢查一個文件試圖尋找 庫從中我可以包括com.google.android.gms.common原生Android日曆樣本。* ,但無法找到它。 如何可能?
我在做什麼錯?
非常感謝您的幫助。
這發生在我身上時,我將我的應用程序從eclipse遷移到android studio。解決方案是:1)從Android SDK Manager下載Google Play服務。 2)使用文件>項目結構並添加Google Play服務(如果您的項目中沒有它,請添加android支持v7)。 – Herman 2014-12-30 21:08:30