Для чего это решение - библиотека запрашивается различными другими библиотеками, но разрешается в более новой версии - PullRequest
0 голосов
/ 29 января 2019

Когда я добавляю новый плагин Firebase Analytics в мое приложение Ionic, я получаю следующую ошибку при запуске «ionoc cordova build android»:

Ionic build error

СБОЙ ПОСТРОЕНИЯ в 17 с 11 выполняемых задач: 11 выполнено cmd: Команда не выполнена с кодом завершения 1 Вывод ошибки: СБОЙ: Сборка не удалась с исключением.

  • Что пошло не так: Библиотека ком.google.android.gms: play-services-basement запрашивается различными другими библиотеками по адресу [[15.0.1,15.0.1]], но разрешается до 16.0.1.Отключите плагин te и проверьте дерево зависимостей, используя ./gradlew: app: dependencies.

После множества проб и ошибок, чтобы исправить эту проблему, мне удалось избавиться от ошибкиотредактировав файл plugin.xml из папки плагина firebase-analytics и изменив предпочтительную версию платформы Android (см. ниже): Plugin platform preference version

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

Другое решение (первое решение фактически делает это в фоновом режиме) - это отредактировать \ platform \ android\ project.properties и измените версию ядра firebase с 16.0. + на 15.0. +.Однако это решение также имеет ограничение, как указано выше, когда речь идет об управлении исходными кодами и другими разработчиками, работающими над проектом.

Я попытался обновить версию в config.xml с 16.0. + До 15.0. +,но это не имеет никакого влияния.

1 Ответ

0 голосов
/ 29 января 2019

Этот плагин Cordova должен решить вашу проблему

Этот плагин Cordova / Phonegap для Android выравнивает различные версии библиотеки Play Services, указанные другими плагинами, с определенной версией.

https://github.com/dpa99c/cordova-android-play-services-gradle-release

Установите его, затем попробуйте собрать

...