Android dependency 'com.android.support:appcompat-v7' has different version for the compile (25.4.0)

本人一直未在此写博客,一直也就是本地文档记录一下,奈何形式所迫,还是写一下吧。
Android dependency 'com.android.support:appcompat-v7' has different version for the compile (25.4.0) and runtime (27.1.1) classpath. You should manually set the same version via DependencyResolution,如图:

此种问题是你的项目中引用了不同版本的v7包,这个要统一

这个问题之前遇到过,

  • 第一种解决办法:将你的这个版本改成25.4.0即可,一般报这个错的时候,你的AS在这块版本的下面会有波浪新,你直接alt+enter就可以改过来,这个也就解决了。

然而这次我遇到这个问题是在集成一个PDA设备的时候,有些奇葩,集成他们的设备时,要用JNI,包名必须和它们规定的一样,我忍了,sdk版本也要降到和他们一样,我也忍了(没办法,公司选的设备嘛),关键是最后,一切集成完了后,本次所说的这个问题出来了,我已经按照上面第一种方法写了,但是还是不行,有一个终极办法,我是不想用的,毕竟是绝招吗,哪有大boss一上来就用大招的,然后我就上网找了一些方法,发现无济于事,最终看来还是我要出手了,放终极大招了

  • 终极解决办法:(强制让所有模块都用相同的支持库版本)

在项目app的build.gradle中的android里面
加上;

    configurations.all {
        resolutionStrategy.eachDependency { DependencyResolveDetails details ->
            def requested = details.requested
            if (requested.group == 'com.android.support') {
                if (!requested.name.startsWith("multidex")) {
                    details.useVersion '25.4.0'
                }
            }
        }
    }

然后Sync Now,成功,运行后成功运行。

各位是上来就放大招呢,还是最后才放大招呢

你可能感兴趣的:(Andrid)