java.lang.NoClassDefFoundError:com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential

时间:2013-03-21 09:49:00

标签: android google-drive-api

我正在尝试在我的Android Applciation中实施Google云端硬盘,并且出现java.lang.NoClassDefFoundError: com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential 错误,所以任何知道如何解决此问题的人。

我现在还在尝试

  • 成功导入Google云端硬盘所需的所有.jar
  • 导入Google Play服务库。在我的项目中成功
  • 试图重启eclipse并检查但是同样的错误即将来临
  • 从Google Drive API或Android版Play服务获得API密钥和客户端ID
  • 已经以here
  • 的身份访问了一些解决方案

尝试Here

这是我的Logcat -

    03-21 15:03:55.194: E/AndroidRuntime(940): FATAL EXCEPTION: main
03-21 15:03:55.194: E/AndroidRuntime(940): java.lang.NoClassDefFoundError: com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential
03-21 15:03:55.194: E/AndroidRuntime(940):  at com.example.alltaskass.GoogleDrive.onCreate(GoogleDrive.java:53)
03-21 15:03:55.194: E/AndroidRuntime(940):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
03-21 15:03:55.194: E/AndroidRuntime(940):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
03-21 15:03:55.194: E/AndroidRuntime(940):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
03-21 15:03:55.194: E/AndroidRuntime(940):  at android.app.ActivityThread.access$1500(ActivityThread.java:123)
03-21 15:03:55.194: E/AndroidRuntime(940):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:993)
03-21 15:03:55.194: E/AndroidRuntime(940):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-21 15:03:55.194: E/AndroidRuntime(940):  at android.os.Looper.loop(Looper.java:126)
03-21 15:03:55.194: E/AndroidRuntime(940):  at android.app.ActivityThread.main(ActivityThread.java:3997)
03-21 15:03:55.194: E/AndroidRuntime(940):  at java.lang.reflect.Method.invokeNative(Native Method)
03-21 15:03:55.194: E/AndroidRuntime(940):  at java.lang.reflect.Method.invoke(Method.java:491)
03-21 15:03:55.194: E/AndroidRuntime(940):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
03-21 15:03:55.194: E/AndroidRuntime(940):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
03-21 15:03:55.194: E/AndroidRuntime(940):  at dalvik.system.NativeStart.main(Native Method)

但是我仍然因为这个错误而被困,并且不知道如何解决这个问题,请指导我

提前谢谢

5 个答案:

答案 0 :(得分:0)

此错误是由于用户定义的JAR文件(即您已将JAVA文件转换为JAR文件以便导入库供您自己使用),您已在此应用程序的库中编译该文件。为了克服这个错误,你必须只需要获取JAVA文件,然后在包中单独提供一个类。

答案 1 :(得分:0)

我遇到了同样的问题。我通过在构建窗口的“订单和导出”选项卡中导出所有与驱动器相关的jar(用“v”标记)来解决这个问题。

答案 2 :(得分:0)

直到一分钟前,我遇到了同样的问题。在您应用的属性中,请确保使用Google API定位API级别。它们将被列在目标水平之下(在我的情况下为4.0.3)。

答案 3 :(得分:0)

我通过添加google-play-service解决了

enter image description here

答案 4 :(得分:0)

我得到了以下方面的帮助:

  1. 项目属性/ Java构建路径/订单和导出

    中查看Drive API

    此后将Drive API jar添加到项目中的lib文件夹

  2. 取消选择云端硬盘API