0

我已经在我的 android 应用程序中集成了 Google Drive,当我在具有 android 版本 2.3.6 的设备上调试应用程序时,当我调用这个时,我得到了 ClassNotFoundException:

mCredential.getToken();

mCredential 设置如下:

mCredential = GoogleAccountCredential.usingOAuth2(context, DriveScopes.DRIVE);

我在“调试”选项卡中看到:

Thread [<13> Thread-15] (Suspended (exception ClassNotFoundException))  
<VM does not provide monitor information>   
PathClassLoader.findClass(String) line: 240 
PathClassLoader(ClassLoader).loadClass(String, boolean) line: 551   
PathClassLoader(ClassLoader).loadClass(String) line: 511    
GoogleAuthUtil.f(Context) line: not available   
GoogleAuthUtil.getToken(Context, String, String, Bundle) line: not available    
GoogleAuthUtil.getToken(Context, String, String) line: not available    
GoogleAccountCredential.getToken() line: 192    
GoogleDrive.checkIfUserIsAuthenticated(Activity, boolean) line: 411 
GoogleDrive.access$4(GoogleDrive, Activity, boolean) line: 403  
GoogleDrive$1.run() line: 98

有人能帮我吗?

4

1 回答 1

0

我知道这是一个老问题,但我也把头发拉出来了。对我来说,ClassNotFoundException 是因为缺少字符串资源。显然,Google play 服务包含资源,并且必须作为库项目导入,而不是仅仅添加 .jar 作为依赖项。在 Eclipse 中执行此操作的说明如下:http: //developer.android.com/google/play-services/setup.html

一旦我完成了这些指令,我就会收到一个构建错误,说多个 dexed 库包含某些类或类似的东西。这个错误原来是因为我现在有两个对 google-play-services.jar 的引用。要修复该错误,请在项目资源管理器视图下,右键单击 bin 目录并单击删除。这将删除带有多个 google-play-services.jar 副本的 dexedLibs 文件夹。此时,我在项目的根目录以及“Android 依赖项”下引用了 google-play-services.jar。我右键单击项目根目录中的引用,然后转到 Build Path -> Remove From Build Path 以摆脱它。

于 2013-09-20T14:25:03.200 回答