我在我的Android应用程序中集成了Google云端硬盘,当我使用Android版本2.3.6在设备上调试应用程序时,当我调用它时,我得到ClassNotFoundException:
mCredential.getToken();
其中mCredential设置如下:
mCredential = GoogleAccountCredential.usingOAuth2(context, DriveScopes.DRIVE);
我在Debug选项卡中看到了:
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
有人可以帮助我吗?
答案 0 :(得分: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 Dependencies”下引用了google-play-services.jar。我右键单击项目根目录中的引用,然后转到Build Path - &gt;从构建路径中删除以摆脱它。