все gms/firebase libaries должны использовать ту же самую версию. Найденные версии 15.1.0, 15.0.2, 15.0.1, 15.0.0.

Попытка реализовать Firebase в моем проекте.

Gradle file:

apply plugin: 'com.android.application'

android {
compileSdkVersion 27
defaultConfig {
    applicationId "com.ghaleh.myapplication"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
     }


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

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:support-media-compat:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-  core:3.0.2'
implementation 'com.google.firebase:firebase-messaging:15.0.2'
}
apply plugin: 'com.google.gms.google-services'

И я получаю эту ошибку:

All gms/firebase libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 15.1.0, 15.0.2, 15.0.1, 15.0.0. Examples include com.google.firebase:firebase-iid:15.1.0 and com.google.android.gms:play-services-measurement-base:15.0.2

Согласно репозитории Google Maven, последняя версия firebase-messaging - 15.0.2, и я получаю ошибку для firebase-iid:15.1.0 Поэтому я не могу обновить firebase-messaging до более высокой версии или реализовать firebase-iid:15.1.0 для соответствия версиям.

Я уже пробовал другие рекомендованные здесь решения: 1, 2, 3, но не из них были полезны.

Я также пробовал это (однако это не кажется правильным решением):

implementation ('com.google.firebase:firebase-messaging:15.0.2') {
    exclude group: "com.google.android.gms"
}

и я получаю эту ошибку:

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForBazaarDebug'.
java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

Заранее спасибо.

Ответ 1

Вам необходимо обновить плагин google-service для использования:

classpath 'com.google.gms:google-services:3.3.0'

чтобы избежать этих ошибок, а также обновить до android studio 3.1

Если вы не используете Android Studio 3.1 для разработки своего приложения, вам нужно будет обновиться, чтобы получить правильное поведение проверки версий в среде IDE.

дополнительная информация и шаги, которые необходимо выполнить:

Объявление о версии SDK

Не удалось выполнить компиляцию: Тип программы уже присутствует: com.google.android.gms.internal.measurement.zzabn

Ответ 2

Возможно, вам придется обновить

1.Playservice library
2.build tools
3.gradle wrapper
4.AndroidStudio
5.Migration to androidX
6.build tool version

Я наконец-то закончил с правильной сборкой после выполнения этого материала !!!