Android上带有GoogleAccountCredential.newChooseAccountContent()的java.lang.NoClassDefFoundError

Android上带有GoogleAccountCredential.newChooseAccountContent()的java.lang.NoClassDefFoundError,android,google-calendar-api,noclassdeffounderror,google-account,Android,Google Calendar Api,Noclassdeffounderror,Google Account,我正在为Android 4+开发EclipseJuno ADT bundle+GooglePluginforEclipse。 我需要以编程方式登录到google帐户以使用google日历API。对于 这是我在利用客户经理。我得到以下错误: 05-05 13:28:55.605: E/AndroidRuntime(11186): FATAL EXCEPTION: main 05-05 13:28:55.605: E/AndroidRuntime(11186): java.lang.NoClassD

我正在为Android 4+开发EclipseJuno ADT bundle+GooglePluginforEclipse。 我需要以编程方式登录到google帐户以使用google日历API。对于 这是我在利用客户经理。我得到以下错误:

05-05 13:28:55.605: E/AndroidRuntime(11186): FATAL EXCEPTION: main
05-05 13:28:55.605: E/AndroidRuntime(11186): java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker
05-05 13:28:55.605: E/AndroidRuntime(11186):    at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.newChooseAccountIntent(GoogleAccountCredential.java:171)
05-05 13:28:55.605: E/AndroidRuntime(11186): ...
以下是导致该问题的代码:

GoogleAccountCredential credential;

credential = GoogleAccountCredential.usingOAuth2(this, CalendarScopes.CALENDAR);

chooseAccount();

private void chooseAccount() {

  startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_PICKER);

}
我一直在寻找解决办法。libs目录包含日历 eclipse库文件是我通过google插件导入的 其中包括身份验证等(库):

然而,这些似乎不包括

com.google.android.gms.common.AccountPicker
如果我在代码中导入此代码,则代码的导入行将标记为错误。 怎么了。我从谷歌日历示例中复制了这段代码 运行正常:

该代码具有完全相同的LIB,除了:

  • 日历库是rev33,而不是rev41
  • jackson和jackson asl库不见了
  • .properties文件,用于示例代码中存在但不在我的代码中的每个库文件
  • 所以这不应该是问题所在。然而, 查看代码的导入部分,google日历示例代码有:

    import com.google.android.gms.common.GooglePlayServicesUtil;
    
    但是如果我尝试在代码中插入这行代码,它会被标记为错误 输入com.google.android.gms.common.GooglePlayServicesUtil 无法解决

    本帖

    说他们能够

    import com.google.android.gms.common.AccountPicker;
    
    但我想知道它来自哪个图书馆

    我甚至试着在原始的android日历样本中查找 我可以从中包括com.google.android.gms.common的库* 一次检查一个文件,但找不到它。怎么 可能吗

    我做错了什么


    非常感谢您的帮助。

    好的,我已经发现我遗漏了什么

  • 确保您已下载Android SDK服务->附加->Google Play服务

  • 请按照以下链接提供的说明进行操作 要将google play服务库添加到项目中,请执行以下操作:


  • 最诚挚的问候

    我最近遇到了类似的问题。我的应用程序(尚未投入生产)在调用时会突然(从5月初开始)抛出不可跟踪的“NoClassDefFoundError”错误

    GoogleAccountCredential.UsingAuth2(此文件为DriveScopes.DRIVE\u文件)

    方法。这是随机发生的,通常是早上第一次。我可以通过重新安装我的谷歌帐户来修复它。不过,这不是一个很好的生产解决方案。我花了几个小时试图解决这个问题,直到我最终意识到我有另一个应用程序在相同的代码序列中没有相同的问题。因此,我区分了这两个选项,并意识到“好”选项在“包资源管理器->项目->属性->Java构建路径”中的条目顺序与“好”选项不同

    之前的“googleplayservices.jar” “android-support-v4.jar”


    “坏”的那个倒过来了。因此,我切换了顺序(使用对话框中的向上和向下按钮),似乎解决了问题。还有另一个WT?等一下!有人对此有意见吗?

    当我将我的应用程序从eclipse迁移到android studio时,我就遇到了这种情况。解决方案是:1)从Android SDK管理器下载Google Play服务。2) 使用文件>项目结构并添加Google Play服务(如果项目中没有android支持v7)。
    import com.google.android.gms.common.AccountPicker;