Все библиотеки com.android.support должны использовать одну и ту же спецификацию версии после добавления firebase - PullRequest
0 голосов
/ 16 мая 2018

Моя андроид студия показывает эту ошибку.

Все библиотеки com.android.support должны использовать одну и ту же версию спецификация (смешивание версий может привести к сбоям во время выполнения). Найденный версии 27.1.1, 26.1.0. Примеры включают com.android.support:animated-vector-drawable:27.1.1 и com.android.support:support-media-compat:26.1.0 меньше ... (Ctrl + F1) Существует несколько комбинаций библиотек или инструментов и библиотек, которые несовместимы или могут привести к ошибкам. Одна из таких несовместимостей компиляция с версией библиотек поддержки Android, которая не последняя версия (или, в частности, версия ниже, чем ваша targetSdkVersion).

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    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:15.0.0'

Ответы [ 3 ]

0 голосов
/ 16 мая 2018

Вместо понижения или исключения библиотеки поддержки вы можете решить проблему, переопределив библиотеку поддержки. Вы можете переопределить библиотеку поддержки, добавив зависимость, которая находится в ошибке:

implementation "com.android.support:animated-vector-drawable:27.1.1"

Для аргументации об этом ответе вы можете увидеть следующие проблемы в Firebase:

0 голосов
/ 16 мая 2018

Когда вы запускаете ./gradlew :app:dependencies, вы узнаете о транзитивных зависимостях библиотек, включенных в их gradle.

Из этого иерархического представления можно узнать, какие библиотеки зависят от более старых версий и exclude их в градле, как показано ниже:

 exclude group:'com.android.support'//as an example support library is excluded

Что касается этого вопроса, то это можно сделать так:

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
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:15.0.2'){
    exclude group:'com.android.support'
}

Здесь библиотека поддержки исключена как ядро ​​firebaseзависел от более старых версий, создавая конфликт.

ПРИМЕЧАНИЕ:

Если ваши зависимости включают не библиотеки, которые вы исключили, а зависимость, от которой у вас естьисключение необходимо, вы можете добавить исключенную библиотеку в Gradle с вашей совместимой версией.

0 голосов
/ 16 мая 2018

Темы типа com.google.firebase:firebase-core:15.0.0 зависят от более старой версии библиотеки поддержки (26.1.0).
Уже выпущена 15.0.2 версия, поэтому вы можете попробовать:

  • use 15.0.2 версия ядра Firebase.Вероятно, оно основано на последней поддержке lib
  • , игнорируйте это сообщение, так как это предупреждение, а не ошибка, и, вероятно, ваше приложение будет работать с ним нормально. (не рекомендуется, но может работать)
  • понизьте версию используемых вами библиотек поддержки до 26.1.0, чтобы они стали одной и той же версией.По крайней мере, пока Google не выпустит FireBase на основе последней версии библиотеки поддержки. (рекомендуется, если # 1 не работает)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...