Android: ошибка build.gradle при добавлении требований Firebase - PullRequest
0 голосов
/ 27 июня 2019

Когда я следую инструкциям Firebase и добавляю:

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

к dependencies и:

implementation 'com.google.firebase:firebase-core:17.0.0' 

к dependencies, внезапноЯ получаю сообщение об ошибке в этой строке в dependencies:

implementation 'com.android.support:appcompat-v7:27.1.1'

Вот сообщение об ошибке:

Dependencies using groupId com.android.support and androidx.* can not be combined but found IdeMavenCoordinates{myGroupId='com.android.support', myArtifactId='animated-vector-drawable', myVersion='27.1.1', myPacking='aar', myClassifier='null'} and IdeMavenCoordinates{myGroupId='androidx.lifecycle', myArtifactId='lifecycle-viewmodel', myVersion='2.0.0', myPacking='aar', myClassifier='null'} incompatible dependencies less... (⌘F1) Inspection info:There are some combinations of libraries, or tools and libraries, that are incompatible, or can lead to bugs. One such incompatibility is compiling with a version of the Android support libraries that is not the latest version (or in particular, a version lower than your targetSdkVersion).

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

Ответы [ 3 ]

1 голос
/ 28 июня 2019

( РЕДАКТИРОВАТЬ: ЭТО УЛУЧШЕННЫЙ ОТВЕТ ОРИГИНАЛЬНОГО ОТВЕТА, КОТОРЫЙ ПОЛУЧИЛ УДАЛЕНО ИЗ-ЗА НЕКОТОРЫХ ВОПРОСОВ. )

Firebase мигрировал на AndroidX в последнем выпуске. Что означает, что

AndroidX отображает исходные пакеты API библиотеки поддержки в пространство имен androidx. Изменены только имена пакетов и артефактов Maven; имена классов, методов и полей не изменились.

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

implementation 'com.google.firebase:firebase-core:16.0.9'

или перенесите ваше приложение для использования AndroidX, как указано ниже. ( В любом случае , если ваше приложение зависит от каких-либо библиотек com.google.android.gms или com.google.firebase, вам следует подготовиться к этой миграции)

Этот выпуск является ОСНОВНЫМ обновлением версии и включает в себя критические изменения. В этом выпуске библиотеки переносятся из поддержки Android Библиотеки для Jetpack (AndroidX) Библиотеки. Обновленные библиотеки не будет работать, если вы не внесете следующие изменения в свое приложение:

Обновите com.android.tools.build:gradle до версии 3.2.1 или новее.

Обновите compileSdkVersion до 28 или более поздней версии.

Обновите ваше приложение для использования Jetpack (AndroidX); следуйте инструкциям в разделе Миграция на AndroidX.

С Android Studio 3.2 и выше, миграция намного проще. выбрав Refactor> Migrate на AndroidX из строки меню, мы можем перейти на AndroidX.

И любые maven-зависимости могут обрабатываться, как показано ниже,

Зависимости Maven, которые не были перенесены в AndroidX пространство имен, система сборки Android Studio также переносит те зависимости для вас, когда вы установите следующие два флага в true в Ваш файл gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

Для миграции существующего проекта, который не использует сторонние библиотеки с зависимостями, которые необходимо преобразовать, вы можете установить android.useAndroidX указывает на true и флаг android.enableJetifier ложно.

0 голосов
/ 28 июня 2019

1) Прежде всего, не добавляйте зависимости firebase самостоятельно. Android Studio просто перейдите: Tools->Firebase и ваше приложение будет подключен к Firebase и студия автоматически добавит библиотеки как по вашей необходимости.

2) По вашей ошибке, если она связана с androidX, проверьте это: https://stackoverflow.com/a/56730155/7254873

0 голосов
/ 27 июня 2019

Попробуйте обновить ваш AppCompat до последней версии, а затем Gradle Sync.

 implementation 'com.android.support:appcompat-v7:28.0.0'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...