Google Play 서비스 GCM 9.2.0에서 9.0.0으로 ‘업데이트’하도록 요청 충돌을 해결하십시오 (최신 버전에 대한

그래서 오늘 아침에 최신 버전의 프로젝트 라이브러리로 업데이트하기 시작했습니다.

GCM을 최신 버전 9.2.0으로 업데이트하려고 하는데이 오류가 발생합니다.

오류 : ‘: app : processDebugGoogleServices’작업에 대한 실행이 실패했습니다. google-services 플러그인 버전을 업데이트하여 버전 충돌을 해결하십시오 (최신 버전에 대한 정보는 https://bintray.com/android/android-tools/com.google.gms.google-services/ 에서 확인할 수 있음 ) 또는 com.google.android.gms 버전을 9.0.0으로 업데이트합니다.

이것이 내 코드를 얻는 방법입니다.

dependencies {
    classpath 'com.android.tools.build:gradle:2.1.2'
    classpath 'com.google.gms:google-services:3.0.0'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}

그리고:

dependencies {
    ...

    compile "com.google.android.gms:play-services-gcm:9.2.0"

    ...
}

같은 문제가 있거나 같은 문제가 해결 된 사람이 있습니까?

감사.

편집하다

분명히 app / build.gradle 파일의 맨 아래에 GSM 플러그인을 적용해야합니다. 그렇지 않으면 버전 9.2.0이 프로젝트에서 충돌을 일으킬 수 있습니다.

참고로, 이것은 내 app / build.gradle 파일의 모습입니다 :

apply plugin: "com.android.application"
apply plugin: "com.neenbedankt.android-apt"

android {
    ...
}

dependencies {
    ...

    // Google Cloud Messaging
    compile "com.google.android.gms:play-services-gcm:9.2.0"

    ...
}

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



답변

선 있어요

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

앱의 build.gradle 파일 하단에 줄이 있습니까?

상단에있을 때 약간의 오류가 있었고 여기 에 쓰여졌 을 때 하단에 있어야합니다.


답변

이 줄을 앱 모듈 (프로젝트 루트가 아닌) gradle파일 의 맨 아래에 두십시오 .

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

그런 다음 프로젝트를 다시 빌드하십시오.


답변

나는 오늘 2016 년 10 월 6 일에 같은 문제를 겪었다.

9로 시작된 모든 종속성을 변경 했습니까? 9.6.1에서 SDK 버전 24 및 대상 버전 17로 컴파일했습니다.

인증에만 더 많은 것을 사용했기 때문에 솔루션에 다른 패키지가 있습니다.

아래 코드로 build.gradle (Module : app)을 변경 한 후 수행하십시오.

  1. applicationId “com.YOUR_PACKAGE_HERE”라는 단어가있는 행에 패키지 NAME을 넣으십시오.

  2. 프로젝트를 동기화하고 (Ctrl + alt + v) 다시 빌드하십시오.

이것은 나를 위해 일한 buid.gradle (Module : app) 파일의 코드입니다.

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"
    defaultConfig {
        applicationId "com.YOUR_PACKAGE_HERE"
        minSdkVersion 24
        targetSdkVersion 17
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    compile 'com.google.firebase:firebase-core:9.6.1'
    compile 'com.google.firebase:firebase-database:9.6.1'

    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'

    compile 'com.google.firebase:firebase-crash:9.6.1'
    testCompile 'junit:junit:4.12'

    compile 'com.google.firebase:firebase-messaging:9.6.1'

    compile 'com.google.firebase:firebase-ads:9.6.1'


    compile 'com.google.firebase:firebase-auth:9.6.1'


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

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


답변

이전 버전에서도 동일한 상황이 발생했습니다. 플러그인 이전에 항상 com.google.android.gms 라이브러리의 새 버전이 출시되고 있으며 이전 플러그인과 호환되지 않으므로 새 버전을 사용할 수 없습니다. 플러그인이 필요한지 모르겠습니다 (Google 문서는 짜증납니다). 나는 그렇지 않은 때를 기억합니다. 유일한 방법은 새 플러그인 버전을 기다리거나 플러그인 종속성을 제거하려고 시도 할 수 있지만 gcm이 없으면 gcm이 작동하는지 확실하지 않습니다. 9.2.0 버전의 주요 기능은 새로운 Awareness API https://inthecheesefactory.com/blog/google-awareness-api-in-action/en입니다 . 필요하지 않은 경우 9.0을 사용할 수 있습니다. 문제없이 0 버전.


답변

com.google. * 버전을 동일한 버전으로 변경하는 Gustavomcls의 솔루션이 효과적이었습니다.

buid.gradle (Module : app)에서 두 종속성을 9.2.1로 변경합니다.

compile 'com.google.firebase:firebase-ads:9.2.1'
compile 'com.google.android.gms:play-services:9.2.1'


답변

app/build.gradle앱 모듈에서 열고 dependencies 블록 다음 줄 아래에 다시 씁니다. 이를 통해 플러그인은 사용중인 Play 서비스 버전을 확인할 수 있습니다

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

나는 여기 에서이 아이디어를 얻었다 . 이 튜토리얼에서 두 번째 요점은 위의 플러그인 행이 app/build.gradle파일 의 맨 아래에 있으므로 종속성 충돌이 발생하지 않는다는 것입니다. 그것이 당신을 도울 수 있기를 바랍니다.


답변

Cordova OR 이온 하이브리드 앱

Firebase 클라우드 메시징 (FCM) 통합 후 Ionic 1 Cordova 빌드와 매우 유사한 문제가 있습니다.

다음 단계로이 문제를 해결했습니다.

따라서 하나의 수정은 다음과 같습니다 : platforms / android open project.properties (파일), 당신은 이와 같은 것을 가질 것입니다

cordova.system.library.1=com.google.android.gms:play-services-ads:+
cordova.system.library.2=com.google.firebase:firebase-core:+
cordova.system.library.3=com.google.firebase:firebase-messaging:+

교체

+

다음과 같이 대상 버전 번호로 서명하십시오.

cordova.system.library.1=com.google.android.gms:play-services-ads:9.0.0
cordova.system.library.2=com.google.firebase:firebase-core:9.0.0
cordova.system.library.3=com.google.firebase:firebase-messaging:9.0.0

파일을 저장하십시오

그런 다음을 사용하여 빌드하십시오.

 ionic cordova run android

이것이 모두에게 도움이되기를 바랍니다.