Google Play服务GCM 10.0.1要求“更新”回9.0.0

时间:2016-12-07 05:41:42

标签: android gradle google-play-services build.gradle

我正在尝试构建我的新项目,但是我收到了这个错误:

  

错误:任务':mobile:processDebugGoogleServices'的执行失败。   请修改版本冲突,方法是更新google-services插件的版本(有关https://bintray.com/android/android-tools/com.google.gms.google-services/的最新版本的信息)或将com.google.android.gms的版本更新为9.0.0。

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

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.1"
    defaultConfig {
        applicationId "com.julia.android.example_project"
        minSdkVersion 10
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    buildTypes.each {
        it.buildConfigField 'String', 'API_KEY', myKey
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:25.0.1'
    ...
    compile 'com.google.android.gms:play-services:10.0.1'
    compile 'com.google.android.gms:play-services-gcm:10.0.1'
    compile 'com.google.android.gms:play-services-location:10.0.1'
    wearApp project(':wear')
}

并且

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

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

我尝试将apply plugin: 'com.google.gms.google-services'移到我的app / build.gradle文件的底部,但它没有用完。

请问任何想法?

7 个答案:

答案 0 :(得分:25)

今天早些时候有这个问题。只需在应用Android应用程序插件之前应用google服务插件。

更新以下行:

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

为:

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

答案 1 :(得分:5)

我有同样的问题,我解决了它寻找所有" build.grade"项目中的文件将所有版本从9.8.0更改为10.0.1(您可以进行搜索"在路径中查找"搜索9.8.0字符串),我有一个丢失,这导致了错误。

还有一行:

compile 'com.google.android.gms:play-services-appindexing:9.8.0'

必须替换为:

compile 'com.google.firebase:firebase-appindexing:10.0.1'

答案 2 :(得分:3)

要解决此问题,您必须执行以下操作。

首先,即使文档说“添加此内容”

 dependencies {
        compile 'com.google.android.gms:play-services:10.0.1'
 }

不要这样做,因为这是整个google play服务API,因为6.5版本如果我没记错谷歌播放服务是一个选择性API,它意味着你必须只包括你需要的。

阅读this page entirely,直至您阅读选择性地将API编译为可执行文件

其次,检查所有版本号是否相同,不能混用它们;检查之前的链接,并只选择您需要的。

顺便说一下班级路径是

classpath 'com.google.gms:google-services:3.0.0'

不是beta-1,因为@JuliaKo说。

P.S。如果您讲西班牙语,请阅读我关于此here

的帖子

答案 3 :(得分:2)

就我而言,请检查google-play-servicesfirebase services版本的版本是否相同。

答案 4 :(得分:1)

dependencies关闭后的这一行放在底部:

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

答案 5 :(得分:0)

我解决了这个问题,将此classpath 'com.google.gms:google-services:3.0.0'替换为此classpath 'com.google.gms:google-services:1.3.0-beta1'

答案 6 :(得分:0)

根据我自己的经验,你必须将该版本设置为所有gms google服务插件。 因此,在您的情况下,您应该替换

compile 'com.google.android.gms:play-services:9.0.0' compile 'com.google.android.gms:play-services-gcm:9.0.0' compile 'com.google.android.gms:play-services-location:9.0.0' 为了

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

此外,正如其他用户建议的那样,您必须添加

var request = var request = URLRequest(url: URL(string: "http://www.example.com/test.php")!)   
        request.httpMethod = "POST"   
        let akey:String =  txt_key.stringValue;   
        let email:String = txt_email.stringValue   
        let VAL:String="test"      
        var data="blah"   
        let postString = data   
        request.httpBody = postString.data(using: .utf8)   
        let task = URLSession.shared.dataTask(with: request) { data, response, error in   
            guard let data = data, error == nil else {                                                 /   
                print("error=\(error)")   
                return   
            }   
            if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 {           /   
                print("statusCode should be 200, but is \(httpStatus.statusCode)")   
                print("response = \(response)")   
            }   
            let responseString = String(data: data, encoding:  .utf8)   
            print(responseString)   
        }   
        task.resume()   

位于app.module graddle文件的底部