java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/GooglePlayServicesUtil

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/GooglePlayServicesUtil

我正在尝试 运行 Google 云消息的示例,它遵循官方网站 https://developer.android.com/google/gcm/client.html 的教程。但是,示例突然崩溃并生成如下错误:

经过追查,发现这段代码的错误:

     /**
     * Check the device to make sure it has the Google Play Services APK. If
     * it doesn't, display a dialog that allows users to download the APK from
     * the Google Play Store or enable it in the device's system settings.
     */
    private boolean checkPlayServices() {
        int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
        if (resultCode != ConnectionResult.SUCCESS) {
            if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) {
                GooglePlayServicesUtil.getErrorDialog(resultCode, this,
                        PLAY_SERVICES_RESOLUTION_REQUEST).show();
            } else {
                Log.i(TAG, "This device is not supported.");
                finish();
            }
            return false;
        }
        return true;
    }

我还按照指南设置了 Google Play 服务 https://developer.android.com/google/play-services/setup.html,到目前为止我已经完成了以下操作:

我已经这样做了很多次,现在已经寻找解决方案几天了,这让我发疯。请帮忙!!! :(

P.S: 我正在使用物理设备进行测试,在我的 LG G3 和 Galaxy S4 上测试过。

要测试 Google Play 服务,您需要 运行 在安装了 Google Play 服务的物理设备上。

检查您的设备是否安装了 Google Play Services 应用程序,并且它的版本是否与您的项目中安装的版本相同。

同时检查清单文件中的 minSDK 和 TargetSDK 是否超过或超过 API 级别。

不要错过清单中的这个标签:

<application
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application> 

我一直在尝试许多解决方案,最后我找到了自己的解决方案。解决方法如下。

  1. 在“\eclipse\eclipse.ini”中更改您的 VM 值,如下所示:

    打开文件
    --launcher.XXMaxPermSize
    512M
    -showsplash
    org.eclipse.platform
    --launcher.defaultAction
    打开文件
    -vmargs
    -Dosgi.requiredJavaVersion=1.5
    -Xms512m
    -Xmx1024m

  2. 按照 https://developer.android.com/google/play-services/setup.html 设置并将 "google-play-services_lib" 引用到您的项目中。最终输出应该如下图所示:

  1. 将 "google-play-services_lib/libs" 中的 "google-play-services.jar"(根据第 2 步,在将项目导入工作区后)添加到构建路径中,如下图所示:

  1. 最后,在 Java 构建路径的 "Order and Export" 选项卡中检查 "google-play-services.jar":

我希望这个解决方案可以帮助 android 开发人员,因为自从我遵循 google 的指南以来,它让我很沮丧,但应用程序一直崩溃 :D

干杯