异常java.lang.NoClassDefFoundError:com.google.android.gms.common.AccountPicker

aBa*_*o80 4 java android google-drive-api

我正在尝试快速入门:在 Google Drive SDK 上运行Android上的云端硬盘应用.我已经按照洞进程,但当我在我的设备中运行应用程序(真正的应用程序)时,它会崩溃并出现以下异常:

java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker
Run Code Online (Sandbox Code Playgroud)

最后,它指向我在此代码的第二行中的源代码:

credential = GoogleAccountCredential.usingOAuth2(this, DriveScopes.DRIVE);
startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_PICKER); // <- This one
Run Code Online (Sandbox Code Playgroud)

我的讨论来自于我完成了文章指示我做的所有事情:

  • 我已经生成了证书

  • 启用API(带证书指纹)

  • 在Eclipse中创建并配置了android项目

    • 添加了Google插件的API
  • 复制样本(我实际上做了复制粘贴)

    • 当然,我更正了包和类名

    • 此外,我还添加了应用程序的权限,甚至还有其他权限

我甚至添加了Google Play Android Developer API及其perimssions.

但是当我运行App时,它仍然会崩溃.所有的图书馆似乎都很好.我想知道它是否特定于Android APIv17,因为我的设备是APIv10和APIv15(我也添加了支持库).

请帮忙.请原谅我糟糕的英语.谢谢.

Mat*_*att 10

我在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
    }
}
Run Code Online (Sandbox Code Playgroud)

dependencies块更改为如下所示:

dependencies {
    compile files('libs/android-support-v4.jar')
    compile files('[path/to/.jar]')
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以构建和运行您的项目.