Android Studio 1.3 RC3。 Google 播放服务已过时。需要 7571000 但找到 6774470

Android Studio 1.3 RC3. Google Play services out of date. Requires 7571000 but found 6774470

尝试历史

它可能与 重复 我遵循了评论中的所有建议,其中 none 帮助解决了。所以我有一个重复的问题,其中包含更多附加信息。

问题

每当我 运行 我的应用程序具有下面提到的 AVD 规范时,我都会得到一个 logcat 就像

Google Play services out of date. Requires 7571000 but found 6774470. 

详情

这些是我拥有的东西的版本。如果需要任何信息,请告诉我,目前我被屏蔽了,希望 GCM 团队的任何人都可以帮助我解决这个问题。

Android Studio 1.3 RC3

Gradle

root/gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0-beta3'
        classpath 'com.google.gms:google-services:1.3.0-beta1'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

app/gradle

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 22
    buildToolsVersion "21.0.1"

    defaultConfig {
        applicationId "com.mysample.gcm"
        minSdkVersion 19
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            //runProguard false
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services-gcm:7.5.0'
    compile 'com.android.support:appcompat-v7:+'
}

AVD 信息

SDK 信息

问题不在于您的项目或您的代码,您只需要在模拟器中升级 Google Play 服务。

您可以轻松地在 Activity 的 onCreate() 覆盖中提示升级(您的项目中也应该为最终用户提供此代码)。

int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if (status != ConnectionResult.SUCCESS) {
    if (GooglePlayServicesUtil.isUserRecoverableError(status)) {
        GooglePlayServicesUtil.getErrorDialog(status, this,
                100).show();
    } 
}

您可以在onActivityResult()中查看结果:

@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == 100){
        int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
    }

}