exceptionjava.lang.NoClassDefFoundError:com.google.android.gms.common.AccountPicker
我正在尝试快速入门:从Android Drive SDK 在Android上运行云端硬盘应用 。 我已经遵循了这个过程,但是当我在我的设备中运行应用程序(真实的应用程序)时,它会崩溃并出现以下exception:
java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker
最后,它在此代码的第二行指向我的源代码:
credential = GoogleAccountCredential.usingOAuth2(this, DriveScopes.DRIVE); startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_PICKER); // <- This one
我的讨论来自于我完成了文章指示我做的所有事情:
-
我已经生成了证书
-
启用API(带证书指纹)
-
在Eclipse中创建并配置了android项目
- 添加了Google插件的API
-
复制样本(我实际上做了复制粘贴)
-
当然,我更正了包和类名
-
此外,我还添加了应用程序的权限,甚至还有其他权限
-
我甚至添加了Google Play Android Developer API及其perimssions。
但是当我运行App时,它仍然会崩溃。 所有的图书馆似乎都很好。 我想知道它是否特定于Android APIv17,因为我的设备是APIv10和APIv15(我也添加了支持库)。
请帮忙。 请原谅我的英语不好。 谢谢。
我在jtwitter.jar库中遇到了同样的问题。 如果您正在运行Android Studio,则必须进行清理和构建(AS现在并不是真正做到的)。
转到命令行,导航到项目根目录并执行./gradlew clean
在你做这件事之前
确保将.jar文件添加到/libs
文件夹中(如果您使用的是build 17或更高版本,则必须是libs
,而不是lib
)。 右键单击并选择“ 添加为库”…
然后,您将需要编辑build.gradle文件(位于/src
目录中)。
它应该看起来像这样:
buildscript { repositories { maven { url 'http://repo1.maven.org/maven2' } } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' dependencies { compile files('libs/android-support-v4.jar') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 5 targetSdkVersion 16 } }
将dependencies
块更改为如下所示:
dependencies { compile files('libs/android-support-v4.jar') compile files('[path/to/.jar]') }
然后,您可以构建和运行您的项目。