NoClassDefFoundError当尝试构建谷歌api客户端时



今天我将googleplay服务库添加到我的项目中。我已按照http://developer.android.com/google/play-services/setup.html#ensure

我的设置屏幕截图:https://drive.google.com/file/d/0Bwe9sI6XZ6rcZGZzdmlaQjVheDA/edit?usp=sharing

问题是,当我尝试执行以下代码时,会引发noclassdeffounderror异常。

public class MainActivity extends Activity  {
private GoogleApiClient mGoogleClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
    mGoogleClient = new GoogleApiClient.Builder(this)
    .addApi(Games.API)
    .addScope(Games.SCOPE_GAMES)
    .setGravityForPopups(Gravity.TOP | Gravity.CENTER_HORIZONTAL)
    .build();

在logcat中,异常看起来像

threadid=1: thread exiting with uncaught exception (group=0x40d02930)
FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.google.android.gms.common.api.GoogleApiClient$Builder
    at com.gmail.mhofer4991.at.taptorotate.MainActivity.onCreate(MainActivity.java:104)
    at android.app.Activity.performCreate(Activity.java:5104)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2147)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
    at android.app.ActivityThread.access$600(ActivityThread.java:144)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5074)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    at dalvik.system.NativeStart.main(Native Method)
   Force finishing activity com.example.taptorotate/com.gmail.mhofer4991.at.taptorotate.MainActivity

我还清理并重建了这个项目。

我解决不了这个问题,真让我发疯。我知道已经有其他线程有相同的主题,我也尝试了一些建议的解决方案,但都不适用于我。请帮帮我!

我也遇到了同样的问题,

java.lang.NoClassDefFoundError: 
      com.google.android.gms.common.api.GoogleApiClient$Builder

我使用了以下对应用程序build.gradle文件的依赖项。

compile 'com.google.android.gms:play-services:7.8.0'

我把它改成

compile 'com.google.android.gms:play-services-plus:7.8.0'

我更新了Google Play Services(第26版)和Google Repository(第20版)。

之后,异常就不会发生。

尝试使用单独的API和相应的build.gradle描述,如下页所示,https://developers.google.com/android/guides/setup#ensure

如果您将minifyEnabled或ProGuard设置为true,请尝试添加Google API的模糊规则:ProGuard配置

尝试在Android中使用Google Drive的实现时,我发现了以下错误消息,指向一些类,如:

java.lang.ClassNotFoundException: com.google.android.gms.common.api.Scope
Caused by: java.lang.ClassNotFoundException: Didn't find class 

我发现,当我们添加与GoogleApiClient相关的依赖项时,真正的问题是64K引用的限制,所以添加多点支持解决了我的问题:

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        ...
        ...
        multiDexEnabled true
    }
...
...

相关内容

  • 没有找到相关文章

最新更新