我想使用Google云消息传递向Android应用程序推送通知。我阅读下面的文档,并将firebase设置为我的应用程序。我的gradle构建成功,但是在implementation 'com.google.firebase:firebase-core:16.0.1'
部分,出现以下错误:
所有gms / firebase库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本17.1.0、16.2.0、16.1.1、16.0.1、16.0.0、15.0.1。示例包括com.google.firebase:firebase-messaging:17.1.0和com.google.firebase:firebase-iid:16.2.0以下(Ctrl + F1) 有一些库,工具或库的组合不兼容或可能导致错误。一种不兼容的情况是使用不是最新版本的Android支持库版本进行编译(或者特别是低于targetSdkVersion的版本)。
应用gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "notificationtest.com.test.notification"
minSdkVersion 14
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-messaging:17.1.0'
}
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 {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.google.gms:google-services:4.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven {
url "https://maven.google.com" // Google's Maven repository
}
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
问题出在哪里,我该如何解决?
答案 0 :(得分:-1)
您添加了2个不同版本的Firebase库。
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-messaging:17.1.0'
请更改为同一版本,即15.0.2 我仅使用此版本,直到现在都没有遇到问题。如果您愿意,也可以使用16.0.1进行消息传递。 Google可能没有发布Firebase-core的版本17。