解决Android Studio提示多个版本support警告

在Android开发中,如果我们引用了某些框架,而在我们自己的项目和其他框架中,分别引用了不同版本的support库,就会报如下警告:

提示的库为:com.android.support:appcompat-v7:27.1.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, 27.1.0. Examples include...

大致意思为不同版本的support库可能引起APP崩溃,发现27.1.127.1.0两个版本。
既然知道问题了,解决也很简单。

1.查看依赖关系

Android StudioTerminal中输入命令:

>gradlew app:dependencies

也可以输入如下命令来打印结果到文本中:

>gradlew app:dependencies >log.txt

如果提示'gradle' 不是内部或外部命令,也不是可运行的程序或批处理文件。,则需要将gradle所在目录的bin文件夹添加到Path系统环境变量中。一般在C:\Users\用户名\.gradle\wrapper\dists\下,找到最新版本或者你当前用的版本,我的目录为:

C:\Users\Administrator\.gradle\wrapper\dists\gradle-4.10-all\54ye4nru8k2rpf7xwj15he4fo\gradle-4.10\bin

在系统环境变量中,新建GRADLE_HOME变量,值为上述地址,然后在Path中添加%GRADLE_HOME%即可。
回到Android StudioTerminal中重试上述命令,如果还不行,需要重启Android Studio

2.查找库引用

经过第一步输出日志到log文件后,我们可以打开log文件,搜索27.1.0,找到对应的库,我的是picasso

+--- com.squareup.picasso:picasso:2.71828
|    +--- com.squareup.okhttp3:okhttp:3.10.0 (*)
|    +--- com.android.support:support-annotations:27.1.0 -> 27.1.1
|    \--- com.android.support:exifinterface:27.1.0
|         \--- com.android.support:support-annotations:27.1.0 -> 27.1.1

3.排除对应版本的包

最后,我们只需要在picasso中排除掉低版本的库即可,因为我的报错是com.android.support:appcompat-v7,所以我要排除的是appcompat-v7包:

implementation("com.squareup.picasso:picasso:2.71828") {
    exclude group: 'com.android.support'
    exclude module: 'appcompat-v7'
}

猜你喜欢

转载自blog.csdn.net/weixin_33921089/article/details/86988716