我们在项目中会引入各式各样的第三方包,有时候会遇到这个问题,在这里记一下,
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'