Дубликат класса в firebase-общие и jetified-firebase-компоненты с версией библиотеки из спецификации

#android #firebase

#Android #firebase

Вопрос:

Я использую набор библиотек Firebase вместе, поэтому я использую спецификацию, чтобы гарантировать, что библиотеки будут работать вместе, вот мой gradle.

 implementation platform('com.google.firebase:firebase-bom:25.12.0')

implementation "com.google.firebase:firebase-messaging"
implementation "com.google.firebase:firebase-ml-vision"
implementation 'com.google.firebase:firebase-dynamic-links'
implementation 'com.google.firebase:firebase-config'
implementation 'com.google.firebase:firebase-installations'
implementation 'com.google.firebase:firebase-analytics'
  

К сожалению, я получаю такие ошибки, как это:

Дубликат класса com.google.firebase.components.AbstractComponentContainer найден в модулях firebase-common-18.0.0-runtime.jar (com.google.firebase: firebase-common: 18.0.0) и jetified-firebase-components-16.0.0-runtime.jar (com.google.firebase: firebase-компоненты: 16.0.0)

Я вижу следующую справку о «зависимости» от gradle:

 com.google.firebase:firebase-common:16.0.3 -> 18.0.0
com.google.firebase:firebase-common:19.3.0 -> 18.0.0
  

И эти зависимости существуют только в implementation приведенных выше разделах ^

com.google.firebase:firebase-components:16.0.0 только здесь:

  --- com.google.firebase:firebase-config -> 19.2.0
|    ...
|     --- com.google.firebase:firebase-installations:16.3.2
|    |     --- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    |     --- com.google.firebase:firebase-common:19.3.0 -> 18.0.0 (*)
|    |     --- com.google.firebase:firebase-components:16.0.0
  

У меня такое ощущение, что проблема может быть вызвана jetifier, но я не уверен.

Я попытался полностью удалить обе библиотеки, но, очевидно, они используются и, следовательно, вызывают сбой во время выполнения.

Я понял, что использование спецификации защитит меня от подобных библиотечных конфликтов ..? Поэтому мне интересно, не упускаю ли я что-то, не связанное с версией.

Комментарии:

1. Вы должны опубликовать проблему на GitHub с вашей полной минимальной конфигурацией, которая воспроизводит проблему. github.com/firebase/firebase-android-sdk

2. вы решили это?

3. Есть какие-либо обновления по этому поводу? Я получаю ту же проблему с плагином OneSignal.

4. Извините, я сменил работу, поэтому никогда не решал эту проблему. В итоге я вручную добавлял все версионные компоненты, пока он не заработал (наверняка неоптимально!)

Ответ №1:

  1. добавьте эти строки в android> app> build.gradle

    реализация ‘com.google.firebase: firebase-core: 17.3.0 ‘

    реализация ‘com.google.firebase: firebase-обмен сообщениями: 20.1.5 ‘

  2. cd android > .gradlew clean

  3. cd .. > npm start -reset-cache

проверьте сейчас 😋