Android Studio 引用第三方包时,com.android.support 因版本冲突问题

我们在项目中会引入各式各样的第三方包,有时候会遇到这个问题,在这里记一下,

All com.android.support libraries must use the exact same version specification
                (mixing versions  can lead to runtime crashes).Found versions 27.1.1, 25.0.2. 
                Examples includecom.android.support:animated-vector-drawable:25.3.0 and com.android.support:design:23.4.0more... (Ctrl+F1)

这是由于我们自己的包和第三方中的包冲突导致的。

我们可以这样处理:

implementation ('cn.yipianfengye.android:zxing-library:2.2') {

        exclude group: 'com.android.support'

    }

compile ('com.jakewharton.rxbinding2:rxbinding-design:2.0.0') {
    exclude group: 'com.android.support'
}

在要导入的包后面添加 " { exclude group: 'com.android.support') "group:表示只要包含com.android.support的都除去。

注意:如果我们 是这样引入的:

 compile project(":rncamerakit")

不能使用上面的方式添加 { exclude group: ‘com.android.support’),会报错,不认识exclude 方法

我们可以在 所引入包的gradle文件中,将compile 改为 provided

provided 'com.facebook.react:react-native:+'

最后给个建议,在把我们的包作为第三方包给别人使用时,我们也可以将support 包的依赖形式修改为provided,方便他人使用。

provided 'com.android.support:appcompat-v7:26.1.0'
provided 'com.android.support:design:26.1.0'
provided 'com.android.support:support-vector-drawable:26.1.0'

你可能感兴趣的:(Android,Gradle构建)