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

これらの依存関係をプロジェクトbuild.gradleに使用します

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'

これを最後に(最初ではなく)配置するとエラーが解決される理由はわかりません。

編集5/1/2016

わかりました…それで皆さんが私の解決策で直面したすべての問題に終止符を打つことを試みます

これが最後のアプリレベルのグラドルです

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'

これが私の最終的なプロジェクトレベルのグラドルです

// 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ファイルの作業の終わりとbeginnging失敗した時にそれを置きますか?
toobsco42

8
8.4.0では、上記の解決策はどれも機能しません。build.gradleを保存した後に実行する2番目の「Rebuild project」の後ですべて失敗する。最初のビルドは機能します(または大声で失敗しない)、2番目のビルドは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プレビュー以外を使用しても違いはありませんでした。
arberg 2016年

5
重要 google-services.jsonファイルを追加することを忘れないでください!それ以外の場合は、「ファイルgoogle-services.jsonがモジュールのルートフォルダーにありません」というメッセージで失敗します。あなたがここにファイルを作成することができます。developers.google.com/analytics/devguides/collection/android/v4をとドキュメントが言うように、次のあなたはprojectFolderにこのファイルを追加します/アプリ(あなたのアプリケーションモジュールのルートので)。
Martin Pfeffer

63

アプリケーションのモジュール(build.gradle)

引っ越し:

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

最後の行に問題を解決しました。


3
なぜapply plugin:...行を最後に移動するのか疑問に思う方のために、これは次理由によります:「この手順では、app / build.gradleファイルの下部に、apply plugin: 'com.google.gms.google-services'行が必要です。依存関係の衝突が発生しないようにします。このステップの結果は、。/ 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をgradle-wrapper.propertiesで最新にアップグレードする必要があります。2.10を使用しています。

プラグインが古すぎます。最新バージョンに更新するか、ANDROID_DAILY_OVERRIDE環境変数を設定してください

  1. build.gradle(モジュールレベルのgradleファイル)の一番下に次の行を入れてください

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

1
build.gradleの一番下にapply plugin行を追加すると、修正されました。ありがとう!
Panda4Man 2016年

最新バージョンのリンクを確認してください。ベータサフィックスが付いたバージョンはどれも機能していなかったため、これらのバージョンをどこから入手したのかわかりませんでした。2.12がようやく機能しました。
Ryan H.

7

これは、Googleサービスプラグインのバージョン3.0.0(およびGoogle Play Servicesライブラリのバージョン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'一番下に移動して、私のプロジェクトで仕事をしました
ナポレオン

ここで一番下にあるのが重要な要素です
aNdRO博士

4

公式の例で見つかった

プロジェクトグラドル

// 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()
    }
}

アプリグラドル

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 2016


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

私は検索していました... Googleページで解決策があります... https://developers.google.com/android/guides/google-services-plugin#introduction

有効にしたサービスに必要な基本ライブラリの依存関係を追加します。この手順では、依存関係の競合が発生しないように、apply / build.gradleファイルの最後に apply plugin: 'com.google.gms.google-services' 行が必要です。./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

プロジェクトグラドル

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

アプリ/モジュールグラドル

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.