Flutter: Cloud_firestore сломает вашу сборку Android, если она или ее зависимости не совместимы с AndroidX - PullRequest
0 голосов
/ 21 февраля 2019

Я не могу использовать оба этих плагина для флаттера вместе:

  cloud_firestore: ^0.9.0+2
  barcode_scan: ^0.0.8

При запуске произошла ошибка:

D8: Program type already present: android.arch.core.util.Function
     *********************************************************
WARNING: This version of cloud_firestore will break your Android build if it or its dependencies aren't compatible with AndroidX.
         See https: //goo.gl /CP92wY for more information on the problem and how to fix it.
         This warning prints for all Android build failures. The real root cause of the error may be unrelated.
         *********************************************************

FAILURE: Build failed with an exception.

он был скомпилирован и запущен на телефоне Android при удалении одного из них,Но оба не могут идти вместе.Как исправить?

Ответы [ 2 ]

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

Нашел решение (по крайней мере для меня)!

У меня была следующая проблема:

[+1498 ms] > Task :app:crashlyticsUploadDeobsRelease
[        ] > Task :cloud_firestore:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :firebase_analytics:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :firebase_auth:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :firebase_core:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :firebase_crashlytics:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :firebase_dynamic_links:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :firebase_messaging:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :firebase_ml_vision:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :firebase_remote_config:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :flutter_local_notifications:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :google_sign_in:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :image_picker:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :share:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :shared_preferences:prepareLintJarForPublish UP-TO-DATE
[+15399 ms] > Task :app:lintVitalRelease FAILED
[        ]          *********************************************************
[        ] WARNING: This version of cloud_firestore will break your Android build if it or its dependencies aren't compatible with AndroidX.
[        ]          
[        ]          This warning prints for all Android build failures. The real root cause of the error may be unrelated.
[        ]          *********************************************************
[        ] 317 actionable tasks: 273 executed, 44 up-to-date
[ +372 ms] Running Gradle task 'assembleRelease'... (completed in 75.7s)
[        ] *******************************************************************************************
[        ] The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
[        ] 

Кажется, что бегун версия 1.2.1 была ответственна за это!

После перехода на версию 1.2.0 все заработало.

Итак, я изменил следующую строку с android/app/build.gradle

androidTestImplementation 'androidx.test:runner:1.2.1'

на

androidTestImplementation 'androidx.test:runner: 1.2.0'

(ПримечаниеКроме того, не забудьте добавить в консоль Firebase все отпечатки сертификатов SHA , которые вы собираетесь использовать в своих приложениях.)

0 голосов
/ 21 февраля 2019

Сообщить о проблеме с barcode_scan, чтобы обновить его для AndroidX.

Ограничить плагин версией, которая не зависит от AndroidX, пока не станет доступна новая версия barcode_scan:

cloud_firestore: ^0.8.2

Или обновить barcode_scan вручную, как указано в https://github.com/flutter/flutter/issues/28207#issuecomment-465600796

...