8.4.0으로 업데이트되는 버전 충돌


197

오류 :

태스크 ': app : processDebugGoogleServices'에 대한 실행에 실패했습니다. google-services 플러그인 버전을 업데이트하거나 (최신 버전에 대한 정보는 여기에서 제공됨 ) com.google.android.gms 버전을 8.3.0 으로 업데이트하여 버전 충돌을 해결 하십시오 .

내가 찾은 모든 것을 다했습니다.

  dependencies {
            // This does not break the build when Android Studio is missing the JRebel for Android plugin.
            classpath 'com.zeroturnaround.jrebel.android:jr-android-gradle:1.0.+'
            classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
            classpath 'com.google.gms:google-services:2.0.0-alpha3'

            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }

그리고 앱 gradle에서

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

답변:


336

프로젝트 빌드에 이러한 종속성을 사용하십시오.

dependencies {
    classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
    classpath 'com.google.gms:google-services:2.0.0-alpha3'
}

이것을 앱 레벨 build.gradle 파일의 끝에 (종속성 뒤에) 넣으십시오.

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

나는 이것을 처음이 아닌 끝에 두는 것이 오류를 해결하는 이유를 전혀 모른다.

2016 년 5 월 1 일 수정

좋아… 그래서 당신은 내 솔루션에 직면 한 모든 문제를 끝내려고 노력

이것이 나의 최종 앱 레벨 gradle입니다

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "your-app-name"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    jcenter()
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.android.support:design:23.1.1'
    compile 'com.mcxiaoke.volley:library:1.0.6@aar'
}

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

그리고 이것은 나의 최종 프로젝트 레벨 gradle입니다

// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

이것을 자신의 gradle 파일과 비교하고 내가 작성한 것과 다른 값을 추가하거나 수정하십시오.


4
compile 'com.google.android.gms:play-services-auth:8.4.0또한 필요합니다.
Shajeel Afzal

2
나는 사람들이 어떻게 이런 솔루션을 우연히 발견하는지 항상 궁금합니다. 시행 착오? 거룩한 두루마리?
A. Steenbergen

77
apply plugin: 'com.google.gms.google-services'build.gradle 파일 작업의 끝에 배치하고 시작에 넣는 것이 실패합니까?
toobsco42

8
위의 솔루션 중 어느 것도 8.4.0에서 작동하지 않습니다. build.gradle을 저장 한 후 두 번째 '프로젝트 다시 빌드'후에 모두 실패합니다. 첫 번째 빌드가 작동하거나 큰 소리로 실패하지 않으면 두 번째 빌드에서 8.3.0 대 8.4.0에 대한 오류가 발생합니다. 개인 대신 'com.google.android.gms : play-services'를 사용하지 못했습니다. (`classpath 'com.google.gms : google-services : 2.0.0-alpha3'`)을 사용하면 다른 오류 (2 차 빌드)와 함께 실패하여 1.5.0을 사용합니다. Studio Preview가 아닌 ​​것을 사용해도 차이가 없었습니다.
arberg

5
중요 google-services.json 파일을 추가하는 것을 잊지 마십시오! 그렇지 않으면 "파일 google-services.json이 모듈 루트 폴더에 없습니다"라는 메시지와 함께 실패합니다. 당신은 여기에 파일을 만들 수 있습니다 : developers.google.com/analytics/devguides/collection/android/v4 그리고 문서에서 알 수 있듯이 다음 파일을 projectFolder / app (앱 모듈의 루트)에 추가합니다.
Martin Pfeffer

63

응용 프로그램 모듈 (build.gradle)에서

이사 :

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

마지막 줄로 문제를 해결했습니다.


3
apply plugin:...줄을 끝으로 옮기는 지 궁금해하는 사람 은 다음과 같은 이유 때문입니다. "이 단계에서는 apply plugin : 'com.google.gms.google-services'줄이 app / build.gradle 파일의 맨 아래에 있어야합니다. 의존성 충돌이 발생하지 않도록합니다. ./gradlew : app : dependencies를 실행하여이 단계의 결과를 볼 수 있습니다. "
Tony Chan

15

다음을 수행하십시오.

  1. build.gradle (응용 프로그램 수준 gradle 파일)에 다음을 넣습니다.

    dependencies {
          classpath 'com.android.tools.build:gradle:2.0.0-beta2'
          classpath 'com.google.gms:google-services:2.0.0-beta2'
    }

변경이 계속되면 최신 버전을 확인 하십시오 .

  1. 아래 오류 메시지가 표시되면 gradle-wrapper.properties에서 gradle wrapper를 최신으로 업그레이드해야합니다. 2.10을 사용하고 있습니다.

플러그인이 너무 오래되었습니다. 최신 버전으로 업데이트하거나 ANDROID_DAILY_OVERRIDE 환경 변수를 설정하십시오.

  1. build.gradle (모듈 레벨 gradle 파일)의 맨 아래에 다음 줄을 넣으십시오.

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

1
내 build.gradle의 BOTTOM에 apply plugin 라인을 추가하면 문제가 해결되었습니다. 감사!
Panda4Man

최신 버전의 링크를 확인하도록 지정해 주셔서 감사합니다. 베타 접미사 버전 중 어느 것도 나를 위해 일하지 않았으며 사람들 이이 모든 버전을 어디서 얻었는지 전혀 몰랐습니다. 2.12 마침내 나를 위해 일했다.
Ryan H.

7

이것은 Google 서비스 플러그인 3.0.0 버전 및 Google Play 서비스 라이브러리 9.0.0 버전에서 수정 된 것으로 보입니다. 그래서 이것으로

최상위 build.gradle

dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
}

앱 레벨 build.gradle

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

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

빠른 참고 :google-services 플러그인 버전 3.0.0으로 업데이트하는 경우 새 필드가 있으므로 구성 파일을 재생성해야합니다 ( 여기에 설명 됨 ).

편집 (2016-06-20) : 이것이 컴파일되고 실행되는 동안 빌드 로그에서 플러그인을 파일의 맨 아래에 배치하도록 지정하거나 기본값 (9.0.0)이 사용됩니다. 따라서 위의 상황에서 버전 9.0.0을 사용하고 있기 때문에 문제가되지 않지만 종속성을 업데이트 할 때 문제가 될 수 있습니다. 로그는 다음과 같습니다.

google-services plugin could not detect any version for com.google.android.gms or com.google.firebase, default version: 9.0.0 will be used. please apply google-services plugin at the bottom of the build file.


5

나를 위해 이것 만 작동합니다.

최상위.

dependencies {
    classpath 'com.android.tools.build:gradle:2.1.0'
    classpath 'com.google.gms:google-services:3.0.0'
}

앱 레벨 :

dependencies {
    compile 'com.google.android.gms:play-services-gcm:9.0.1'
    compile 'com.google.android.gms:play-services-location:9.0.1'
}

// should be at the bottom
apply plugin: 'com.google.gms.google-services'

1
apply plugin: 'com.google.gms.google-services'바닥으로 이동 하면 내 프로젝트에서 작업을 수행했습니다
Napoleon

여기에 핵심 요소가 될 것입니다
Dr. aNdRO

4

공식 예에서 발견

프로젝트 gradle에서

// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

앱 gradle에서

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.google.samples.quickstart.signin"
        minSdkVersion 18
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    packagingOptions {
        exclude 'LICENSE.txt'
    }

    // Resolve dependency differences between app and tests
    configurations.all {
        resolutionStrategy.force 'com.android.support:support-annotations:23.1.1'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'

    // Dependency for Google Sign-In
    compile 'com.google.android.gms:play-services-auth:8.4.0'

    // UiAutomatorTesting
    androidTestCompile 'com.android.support.test:runner:0.4.1'
    androidTestCompile 'com.android.support.test:rules:0.4.1'
    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
    androidTestCompile 'com.android.support:support-annotations:23.1.1'
}

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

1
사용 alpha9하려면와 함께 일했습니다 Gradle 2.11. 감사합니다! 공식 예제로 연결해 주시겠습니까? 아마도 이와 같은 다른 문제에 도움이 될 것입니다.
Cilenco


2

앱 build.gradle에서 업데이트했습니다.

dependencies {
....
compile 'com.google.android.gms:play-services-auth:9.0.0'

및 앱 build.gradle

  dependencies {
    classpath 'com.android.tools.build:gradle:2.1.0'
    classpath 'com.google.gms:google-services:3.0.0'
}

그 일을하고 있습니다.


2

제 경우에는 gradle.build의 끝에서 "apply plugin : 'com.google.gms.google-services'"를 제거하고 정상적으로 작동했습니다.



1

구글 페이지에 해결책이 있습니다 ... https://developers.google.com/android/guides/google-services-plugin#introduction

활성화 한 서비스에 필요한 기본 라이브러리에 대한 종속성을 추가하십시오. 이 단계에서는 apply plugin : 'com.google.gms.google-services' 행이 app / build.gradle 파일의 끝에 있어야 종속성 충돌이 발생하지 않습니다. ./gradlew : app : dependencies를 실행하여이 단계의 결과를 볼 수 있습니다.


1

apply plugin : 'com.google.gms.google-services'을 build.gradle 의 끝으로 옮기는 것은 의미가 없습니다 . 그것을 정의하지 않는 것과 같습니다.

이 줄을 제거하고 플러그인을 적용하십시오 : ' com.android.application'

사용하다:

compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services:8.4.0'

컴파일됩니다.


플러그인을 적용하면 사용되는 버전에 영향을 줄 수 있습니다. rguerinet
Ryan H.

0

프로젝트 gradle에서

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.google.gms:google-services:2.0.0-alpha6'
    }
}

앱 / 모듈 gradle에서

apply plugin: 'com.google.gms.google-services'
android {
    ...
}

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

-1

프로젝트 gradle에서 :

       compileSdkVersion 23

작동 중입니다.


-3

여기에 고치라는 지시가 있습니다.

  1. compile 'com.google.android.gms:play-services-location:8.3.0'앱 에서 사용하도록 변경build.gradle
  2. apply plugin: 'com.google.gms.google-services'앱 끝으로 이동build.gradle
  3. 사용 classpath 'com.google.gms:google-services:2.0.0-alpha3'프로젝트의 build.gradle의존성
  4. 변경 사용하기 gradle-2.8gradle/wrapper/gradle-wrapper.properties
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.