Gradle выдает ошибку совместимости при добавлении firebase - PullRequest
0 голосов
/ 28 октября 2018

Итак, я только что создал новый проект, и прежде чем добавлять какие-либо новые библиотеки или что-то еще, я просто добавил библиотеку FireBase, и как только я синхронизировал Gradle, он выдает мне сообщение о том, что смешивание библиотек Android может вызвать проблемы на appcompatбиблиотека.

Image that shows the error

Что я здесь не так делаю?почему я получаю эту ошибку и как от нее избавиться?

Вот исходный код моего файла Gradle:

apply plugin: 'com.android.application'

    android {
        compileSdkVersion 28
        defaultConfig {
            applicationId "com.femindharamshi.codifyadmin"
            minSdkVersion 21
            targetSdkVersion 28
            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:28.0.0'
        implementation 'com.android.support.constraint:constraint-layout:1.1.3'
        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-core:16.0.4'

    }

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

Ответы [ 4 ]

0 голосов
/ 28 октября 2018

Вы можете увидеть этот ответ .И просто нужно сделать это:

implementation ('com.google.firebase:firebase-core:16.0.4') {
    exclude group: "com.android.support"
}
0 голосов
/ 28 октября 2018

добавьте эту строку выше вашей appcompat зависимости

//noinspection GradleCompatible
0 голосов
/ 28 октября 2018

Вы должны проверить / исправить конфликты зависимостей,

  • ./gradlew androidDependencies или ./gradlew app:dependencies
  • Затем вы увидите модули, которые дублируются среди зависимостей с разными версиями.

Решения

  1. Решение по силе:

    //force a resolution
    
    configurations.all {
      resolutionStrategy.force 'com.android.support:support-media-compat:28.0.0'
    }
    
  2. Исключить дублирующийся модуль

    //excluding a module!
    
    implementation ("com.android.support:appcompat-v7:28.0.0") {
       exclude group: 'com.android.support', module: 'support-media-compat'
    }
    

Обновление Force Поддержка библиотек

ext {
    supportLibVersion = '28.0.0'
}

dependencies {
    // ... Other dependencies 
    implementation "com.android.support:appcompat-v7:$supportLibVersion"
    implementation ("com.android.support:support-v4:$supportLibVersion"){
        force = true
    }
    implementation ("com.android.support:exifinterface:$supportLibVersion"){
        force = true
    }
}
0 голосов
/ 28 октября 2018

Добавьте эту реализацию:

implementation 'com.android.support:support-media-compat:28.0.0' 

Объяснение: В сообщении об ошибке вы видите, что в настоящее время используются разные версии библиотеки.В части после примеров показано, какой из них.Хотя вы можете подумать, что не используете его.Вы используете это косвенно с основными библиотеками.Таким образом, вы должны явно обновить библиотеки, если есть более низкая Subversion

...