そこで今朝、私は自分のプロジェクトライブラリの最新版へのアップデートを始めました。
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ファイルの一番下の行?
一番上にあるときにエラーが発生しました。 ここ のように、一番下にあるはずです。
この行をあなたのapp-module(プロジェクトルートではない)のgradle
ファイルの一番下に置いてください。
apply plugin: 'com.google.gms.google-services'
次にプロジェクトを再構築します。
私は同じ問題を抱えていました、今日2016年 - 10月 - 06私はこれで解決しました:
9から始まるすべての依存関係を変更しました。 9.6.1までsdkバージョン24とターゲットバージョン17でコンパイルしました。
私のソリューションには他にもパッケージがありますが、それは認証よりも多くのものを使用したためです。
下記のコードでbuild.gradle(Module:app)を変更したら:
パッケージのNAMEをapplicationId "com.YOUR_PACKAGE_HERE"という単語と同じ行に入れます。
プロジェクトを同期させ(Ctrl + Alt + v)、もう一度ビルドします。
これは私のために働いたファイルbuid.gradle(モジュール:アプリ)のコードです:
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がそれなしで動くかどうかわからない。 9.2.0バージョンの主な機能を知っているのは新しいAwareness API https://inthecheesefactory.com/blog/google-awareness-api-in-action/en です。 、問題なく9.0.0バージョンを使用できます。
Gustavomclsのcom.google。*バージョンを同じバージョンに変更する解決策は、私にとってはうまくいきました。
Buid.gradleで両方の依存関係を9.2.1に変更しました(モジュール:app)
compile 'com.google.firebase:firebase-ads:9.2.1'
compile 'com.google.Android.gms:play-services:9.2.1'
app-moduleからapp/build.gradle
を開き、依存関係ブロックの後の下の行を書き換えます。これにより、プラグインは使用しているPlayサービスのバージョンを判断できます。
apply plugin: 'com.google.gms.google-services'
私はこのアイデアを here から得ました。このチュートリアルで2番目のポイントは、依存関係の衝突が発生しないように、上記のプラグイン行があなたのapp/build.gradle
ファイルの一番下にあるということです。お役に立てば幸いです。
グラドルの一番下にこの行を追加します。
プラグインを適用する: 'com.google.gms.google-services'
それが一番上だから動作しません。私は同様の問題に直面していました。
Cordova OR Ionic Hybrid Appの場合
Firebase Cloud Messaging(FCM)を統合した後のIonic 1 Cordova Buildでも、非常によく似た問題があります。
次の手順でこの問題を解決しました
内側の プラットフォーム/ 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
私はこれが皆のために働くことを願っています
firebaseも含まれている場合は、エラーと同じバージョンにします。
位置情報サービスを使用しようとするまで、私はこれに関する問題を抱えていませんでした、その時点で私はファイルの一番上ではなく一番下にapply plugin: 'com.google.gms.google-services'
を置かなければなりませんでした。その理由は、一番上に配置すると衝突の問題があり、一番下に配置することでそれらの問題を回避できるからです。