2013-05-18 184 views
0

我有一個項目,其中包括谷歌驅動器,它都工作得很好。然後我執行了Android SDK的升級,Eclipse ADT Plugin和Google Drivie不再有效,我不明白爲什麼。NoClassDefFoundErrror與谷歌驅動器

我已將Drive API添加到我的項目以及Google Play服務中,並勾選複選框以導出。我已經做了一個乾淨的構建,我刪除了我的應用程序的bin目錄,重新啓動了eclipse,重新做了乾淨的構建,但只要我運行我的應用程序的部分應該顯示谷歌帳戶選擇器應用程序崩潰。

下面是在logcat的

05-18 17:17:09.089: E/AndroidRuntime(16747): FATAL EXCEPTION: main 
05-18 17:17:09.089: E/AndroidRuntime(16747): java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker 
05-18 17:17:09.089: E/AndroidRuntime(16747): at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.newChooseAccountIntent(GoogleAccountCredential.java:171) 

返回無論它看上去那樣我儘量不使,所以任何幫助,將不勝感激任何差別的誤差。

UPDATE 我試過在Raghunandan的建議中勾選Android專用庫的導出選項。大多數應用程序正在運行,如Dropbox API也包含在項目中,但我仍然在執行代碼的Google Drive部分時出現錯誤,並顯示NoClassDefFoundError。

如果我打勾的訂單&導出選項卡中的驅動器API,然後我得到一個錯誤Dex Loader] Unable to execute dex: Multiple dex files define Lcom/google/api/client/googleapis/extensions/android/accounts/GoogleAccountManag‌​er;

回答

2

看起來您正在導入定義類com.google.api.client.googleapis.extensions.android.accounts.GoogleAccountManag‌er的多個庫。在Android私有庫下查看包管理器,然後嘗試在那裏打開.jar文件。你可能會在其中至少兩個人中找到這門課(其中一門課可能類似於google-api-client-android-1.13.2-beta.jar)。

嘗試從構建路徑中排除其中一個jar文件。如果你沒有錯誤,你就完成了。如果有錯誤,請嘗試排除其他jar文件。如果錯誤仍然存​​在,您可以嘗試打開jar作爲zip文件並手動刪除GoogleAccountManager.class文件。

+0

感謝這工作。它一直在困擾着我很多年。還有一個步驟我沒有做到。我將Google Play服務包含在構建路徑中並導出,但未將其作爲項目的android部分中的庫添加。謝謝你的幫助。它一直在竊聽我的天 – Boardy

+1

@ferini我有同樣的問題[這裏](http://stackoverflow.com/questions/23510953/java-lang-noclassdeffounderror-com-google-api-services-drive-drive)。而且就像你說的**駕駛課有2個罐子**。一個在'googl-play-services.jar'中,另一個在'google-api-services-drive-v2-rev123-1.18.0-rc.jar'中,但爲什麼在給出正確的導入路徑之後會發生這種情況? –

1

嘗試將項目 - >屬性 - >訂單&出口並確保Android的私家藏書被檢查的項目和您正在使用的所有其他庫項目。

+0

謝謝我已經試過這個,但我現在得到以下錯誤''Dex Loader]無法執行dex:多個dex文件定義Lcom/google/api/client/googleapis/extensions /機器人/賬戶/ GoogleAccountManager; [2013-05-18 21:29:11 - AndroidPasswordManager]轉換爲Dalvik格式失敗:無法執行dex:多個dex文件定義Lcom/google/api/client/googleapis/extensions/android/accounts/GoogleAccountManager;'' – Boardy

+0

您是否提及過Google Play服務庫?也試試 更新Android SDK和ADT後,請確保您已安裝Android Build工具。 轉到您的android sdk管理器檢查是否安裝了Andorid Build Tools。如果未安裝,則安裝相同。 – Raghunandan

+0

是的谷歌播放服務在項目中引用。我已經檢查過SDK管理器,一切都是最新的,並且安裝了Android SDK構建工具 – Boardy

0

我有同樣的問題,現在就解決了。

首先我嘗試下載Dredit,它工作正常!所以我從屬性中刪除了google API(屬性 - > Java Build Path-> Libraries)。並從Dredit複製庫。你猜怎麼了?問題依然存在。

所以我做了以下步驟來重建整個項目,並且這個問題已經解決了。希望它能幫助你。

  1. 刪除googe api和所有相關的庫。
  2. 關閉這個項目
  3. 打開項目文件夾,刪除和隱藏文件夾(開始)和生成的文件夾
  4. 再重新加入項目。並複製庫的形式Dredit