【问题标题】:What is the solution for - library being requested by various other libraries, but resolves to newer version解决方案是什么 - 各种其他库正在请求库,但解析为较新版本
【发布时间】:2019-01-29 11:58:02
【问题描述】:

当我向 Ionic 应用程序添加新的 firebase 分析插件时,运行“ionoc cordova build android”时出现以下错误:

在 17 秒内构建失败 11 个可操作任务:11 个已执行 cmd:命令 失败,退出代码 1 错误输出:FAILURE: Build failed with an 例外。

  • 出了什么问题:库 com.google.android.gms:play-services-basement 正在被请求 [[15.0.1,15.0.1]] 的各种其他库,但解析为 16.0.1。 禁用插件并使用 ./gradlew 检查您的依赖关系树 :app:dependencies。

经过大量尝试和错误方法来解决此问题后,我通过编辑 firebase-analytics 插件文件夹中的 plugin.xml 并更改 Android 平台首选项版本(见下文)设法摆脱了错误:

一切正常。然而,由于上述文件不是源代码控制的一部分,其他开发人员在尝试构建项目时显然会遇到同样的错误。我想知道我应该在哪里进行更改,以便项目在添加到源代码管理时不会出错。

另一个解决方案(第一个解决方案实际上是在后台执行此操作)是编辑 \platform\android\project.properties 并将 firebase-core 版本从 16.0.+ 更改为 15.0.+。但是,当涉及到源代码管理和其他从事该项目的开发人员时,此解决方案也存在上述限制。

我确实尝试将 config.xml 中的版本从 16.0.+ 更新到 15.0.+,但这没有影响。

【问题讨论】:

  • 难道config.xml中定义的最低android版本也定义了将安装哪个版本的firebase?这意味着您可能需要更改最小的 android sdk,然后一旦有人进行构建,它将拉取不同的 firebase 版本?

标签: cordova ionic-framework version-control ionic3 npm-install


【解决方案1】:

这个cordova插件应该可以解决你的问题

这个适用于 Android 的 Cordova/Phonegap 插件可以调整各种版本的 其他插件指定的播放服务库到特定的 版本。

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

安装它然后尝试构建

【讨论】:

  • 请您告知我需要传递给调用的版本参数(决定的依据是什么?)->“cordova plugin add cordova-android-play-services-gradle-release- -变量 PLAY_SERVICES_VERSION=10.+"
  • 试试 16.+ 或 15.+
  • 在 15.+ 中它不起作用并给出了类似的问题。但是在 16.+ 版本中它起作用了!那么这是什么以及它是如何工作的呢?
  • 我不是 100% 确定,但我认为这取决于您安装的插件所需的 google 服务的组合(可能还取决于安装的 android 平台的版本),实际检查此页面@ 987654322@所有服务都需要16岁以上。
猜你喜欢
  • 2019-01-21
  • 1970-01-01
  • 2019-06-19
  • 2019-04-01
  • 2018-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多