как правильно выбрать версию библиотеки - PullRequest
0 голосов
/ 29 октября 2018

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

Как мы узнаем, какие версии выбрать и какие версии совместимы с другими версиями?

Теперь, когда я открыл maven.google.com, я думаю, что вижу все доступные мне версии.

В последнее время я имею дело с библиотеками Firebase. Мне нужны и сообщения и ядро. На момент написания сообщения обмен сообщениями осуществляется по 17.3.4, а ядро ​​- по 16.0.4. Но если я собираюсь с этими версиями, я получаю ошибку, которая говорит, что не может получить доступ к zzbfm - что бы это ни было.

Я наконец получил чистую компиляцию со следующим, но эта комбинация была достигнута методом проб и ошибок, заняв час или около того ...

implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-gcm:15.0.1' 
implementation 'com.google.firebase:firebase-messaging:17.3.2'
implementation 'com.google.firebase:firebase-core:16.0.3'

Было бы неплохо, если бы ответ был "всегда используйте последнюю версию", но это, конечно, не ответ.

Что мне здесь не хватает?

1 Ответ

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

Вы действительно ничего не упускаете.Совместимость версий - это, в основном, метод проб и ошибок.Что вы можете сделать:

  • Добавляйте только те артефакты, которые вы действительно используете в своем коде.Не добавляйте транзитивные зависимости.
  • Посмотрите на потенциальные конфликты в транзитивных зависимостях и проведите испытания, начиная с более новой версии.

Обычно: старайтесь использовать как можно меньше зависимостей, это уменьшает хлопоты.

...