首页 > 解决方案 > 如何从 android 项目中的 gradle 依赖项中排除 Jar 文件

问题描述

我正在开发一个 android 应用程序,其中我使用两个 gradle 依赖项,并且两个 gradle 依赖项具有libwebrtc.jar不同的版本,所以我想libwebrtc.jar从其中一个依赖项中排除

dependencies {
 implementation 'com.twilio:video-android:3.2.1'
 implementation project(":webrtc-android-framework")
}

libwebrtc.jar如果我libwebrtc.jar从模块中删除文件,则这两个依赖项具有不同版本的文件,webrtc-android-framework然后找不到某些类,因此我无法删除 jar 文件,因此我想从依赖项中排除该libwebrtc.jar文件com.twilio:video-android:3.2.1

构建应用程序时出现以下错误

错误:程序类型已存在:org.webrtc.BaseBitrateAdjuster

标签: androidandroid-studioandroid-gradle-pluginwebrtcbuild.gradle

解决方案


以下是执行依赖版本的方式:

configurations.all { 
    resolutionStrategy.force 'your-dependency:version'
}

如果要排除依赖项所依赖的下游依赖项,请尝试以下操作:

implementation "one-of-your-dependencies" {
    exclude group:'org.webrtc'
}

或者更一般地说,

configurations.implementation.transitive = false

或者configurations.compile.transitive = false,如果您使用的是下面的 gradle 版本2.3.3


推荐阅读