Android build.gradle的那些事儿(持续更新)

1问题描述:All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 27.1.1, 26.1.0. Examples include com.android.support:animated-vector-drawable:27.1.1 and com.android.support:cardview-v7:26.1.0 less... (Ctrl+F1)

贴图:

错误信息

       通过谷歌或有道翻译,这段话的大概意思就是 项目中引用了27.1.1和26.1.0两种support v7包,混和引用可能导致运行崩溃。

我的项目中targetSdkVersion = 26 ;所以我需要找到应用27.1.1的类库,使用exclude去除重复引用。这里的方法比较笨,是使用排除法,我们可以切换到项目的External Libraries目录下


External Libraries

这个视图下我们可以看到项目应用的类库中有27 和26 ,这时候我们在项目中添加exclude


exclude 

然后Sync Now ,观察右边的External Libraries是否去除了v7 27.1.1


同步后

经排查,com.android.support.constraint:constraint-layout:2.0.0-alpha2引用了v7 27.1.1 导致的报错。

总结:解决这类问题的关键是找到哪个引用的问题。然后通过exclude 或者降级引用版本来达到目的。但我们也不确定哪个版本的引用适配我们的项目中的targetSdkVersion,所以建议使用exclude。

你可能感兴趣的:(Android build.gradle的那些事儿(持续更新))