与依赖项“com.android.support:support-v4”冲突

Posted

技术标签:

【中文标题】与依赖项“com.android.support:support-v4”冲突【英文标题】:Conflict with dependency 'com.android.support:support-v4' 【发布时间】:2018-11-20 10:42:29 【问题描述】:

我正在使用 Ionic 1 开发移动应用程序。我尝试在 build.phonegap 上构建它,但编译后我在日志文件中遇到了这样的错误。日志文件包含此错误:

命令以错误代码 1 完成:/project/gradlew cdvBuildDebug,-b,/project/build.gradle,-Dorg.gradle.daemon=true,-Dorg.gradle.jvmargs=-Xmx2048m,-Pandroid.useDeprecatedNdk=true 错误:/project/gradlew:命令失败,退出代码 1 错误输出: 注意:某些输入文件使用或覆盖已弃用的 API。笔记: 使用 -Xlint:deprecation 重新编译以获取详细信息。注意:一些输入文件 使用或覆盖已弃用的 API。注意:重新编译 -Xlint:deprecation 了解详情。。已解决的编译版本 (25.4.0) 和包装 (28.0.0-alpha3) 不同。这可以产生 由于资源不匹配导致的运行时错误。

在这个错误之后我删除了这一行;

<plugin name="de.appplant.cordova.plugin.local-notification" source="npm" />

从www文件夹内的配置文件,问题解决了。但最后,我的应用程序中需要这个插件。

PS:我在许多来源上搜索了这个问题,但由于 phonegap 我不应该通过更改 .gradle 文件来解决这个问题。

【问题讨论】:

【参考方案1】:

此问题是由于您的项目中至少有一个其他插件引用了与de.appplant.cordova.plugin.local-notification 不同的 Android 支持库版本。

如果您在本地构建,您可以如您所述,手动编辑 .gradle 配置文件以解决此问题。

或者您可以使用cordova-android-support-gradle-release 插件来自动对齐支持库版本。 但是,此插件依赖于 not supported by Phonegap Build 的 Cordova 钩子脚本。

因此,要在 Phonegap Build 环境中解决此问题,我认为您唯一的选择是分叉有问题的插件,手动对齐 plugin.xml / .gradle 文件中引用的支持库版本,并引用这些分叉项目config.xml中的插件

【讨论】:

非常感谢您的回答,我还有一个问题。我检查了项目中的每个文件,所有de.appplant.cordova.plugin.local-notification 插件都具有相同的版本。也许我跳过了一个重要文件,我应该在哪里检查它,如果我在 .config 文件中引用这个 .gradle 文件,我的问题会解决吗?怎么做 ?问题太多,请见谅:)再次感谢。

以上是关于与依赖项“com.android.support:support-v4”冲突的主要内容,如果未能解决你的问题,请参考以下文章

无法解析 Android Studio 中的依赖项

Cordova 构建错误:“无法解析配置 ':_debugApkCopy' > 的所有依赖项 > 找不到 com.android.support:appcompat-v7:27.0.2。”

警告:与依赖 'com.android.support:support-annotations' 冲突

如何将 gradle 库依赖项添加到 codenameone 项目

无法解决:com.android.support:cardview-v7:26.0.0 android

颤振:无法解析 com.android.support:support-v4:27.1.0