在升级到android studio 2.3后,我收到了这个错误消息.

所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃).找到版本25.1.1、24.0.0.示例包括com.android.support:animated-vector-drawable:25.1.1和com.android.support:mediarouter-v7:24.0.0

enter image description here

我的格拉德尔:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'

    compile 'com.android.support:appcompat-v7:25.1.1'
    compile 'com.android.support:support-v4:25.1.1'
    compile 'com.android.support:design:25.1.1'
    compile 'com.android.support:recyclerview-v7:25.1.1'
    compile 'com.android.support:cardview-v7:25.1.1'
    compile 'com.google.android.gms:play-services-maps:10.2.0'
    compile 'com.google.android.gms:play-services:10.2.0'

    compile 'io.reactivex.rxjava2:rxjava:2.0.1'
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
    compile 'com.jakewharton:butterknife:8.4.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
    compile 'com.blankj:utilcode:1.3.6'
    compile 'com.orhanobut:logger:1.15'
    compile 'com.facebook.stetho:stetho:1.4.2'

    provided 'com.google.auto.value:auto-value:1.2'
    annotationProcessor 'com.google.auto.value:auto-value:1.2'
    annotationProcessor 'com.ryanharter.auto.value:auto-value-parcel:0.2.5'

    compile 'com.mikepenz:iconics-core:2.8.2@aar'
    compile('com.mikepenz:materialdrawer:5.8.1@aar') { transitive = true }
    compile 'com.mikepenz:google-material-typeface:2.2.0.3.original@aar'
    compile 'me.zhanghai.android.materialprogressbar:library:1.3.0'
    compile 'com.github.GrenderG:Toasty:1.1.1'
    compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.8.0'
    compile 'com.github.MAXDeliveryNG:slideview:1.0.0'

    compile 'com.facebook.fresco:fresco:1.0.1'
    compile 'com.github.bumptech.glide:glide:3.7.0'

    compile 'com.google.maps.android:android-maps-utils:0.4.4'
    compile 'com.github.jd-alexander:library:1.1.0'
}

推荐答案

您可以使用以下解决方案之一解决此问题:

更新:

从Android studio 3.0开始,它变得更加容易,因为它现在显示了一个更有用的提示,所以我们只需要遵循这个提示

一切正常.安卓支持库必须使用完全相同的版本

有一些库或工具和库的组合, 是不兼容的,或者可能导致错误.其中一个不兼容性是 编译时使用的Android支持库版本不是 最新版本(或特别是低于您的 targetSdkVersion.)

Solution:

implementation "com.android.support:customtabs:27.0.2"  

即:从第二个项目获取库,并使用第一个项目的版本号实现它.

注意:别忘了现在按sync,这样gradle就可以重建依赖关系图,看看是否还有冲突.

Explanation:
您可能会被错误消息搞糊涂,因为不要使用customtabs,所以我怎么会有冲突!!
好吧...您没有直接使用它,但是您的一个库在内部使用了旧版本的customtabs,因此您需要直接请求它.

如果您想知道您的哪个库负责旧版本,并可能要求作者更新其库,运行Gradle依赖报告,请参阅旧答案以了解如何更新.

请注意这一点


旧答案:

灵感来源于CommonsWare answer:

运行Gradle dependency report,查看您的完整目录树

从那里,您将看到您的哪个库正在请求不同版本的Android支持库. 对于它要求的任何内容,您都可以直接使用 25.2.0版本或使用Gradle的其他冲突解决方法来获得相同的版本.


更新:

从gradle插件版本开始:3.0 compile已被implementationapi取代,差异见this answer.

因此,请改用:

./gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

或windows cmd:

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

并搜索冲突版本.

对我来说,删除com.google.android.gms:play-services:10.2.0后错误消失了

只包括com.google.android.gms:play-services-location:10.2.0com.google.android.gms:play-services-maps:10.2.0,因为它们是我唯一使用的两种播放服务.

我认为这gms:play-services个依赖于支持库的一些旧组件,所以我们需要自己显式地添加它们.


对于3.0以上的人.

运行:

./gradlew -q dependencies <module-name>:dependencies --configuration implementation

示例:

./gradlew -q dependencies app:dependencies --configuration implementation

如果有人知道新gradle插件的更好方法,请告诉我.

Android相关问答推荐

将HTML约束布局转换为Jetpack编写约束布局-链样式、偏差

Jetpack编写:通过viewModels()vs viewModel View ModernName()'

当X为lambda函数时,如何避免Android Studio错误检测参数X未使用?

无法在Jetpack Compose中显示Admob原生广告

Android系统应用程序启用编程以太网网络共享

Android Jetpack Compose调用view-model函数仅一次

Play Google上发布的一款应用的房间数据库迁移

在c中更新MVVMCross中TextView的Alpha#

需要 java 17 而不是 java 11:Android CI-CD GitHub Actions

Android AGP 8 + Gradle 8 + Kotlin 1.8 导致 Kapt 出错

设置背景图片组成Column

从 Jetpack Compose 中的 IconButton 中删除黑色色调

未找到 com.android.tools.build:gradle:7.4.0 的匹配变体

如何在 React Native 中调试网络响应

Jetpack Compose 部分或开放侧边框

android xml底部空间大

如何在 Jetpack Compose 中的 VisualTransformation 之后将光标保持在文本字段的末尾

java.lang.IllegalArgumentException:与请求匹配的导航目的地 NavDeepLinkRequest

如何修复 api 调用在浏览器中工作但在 android studio 中为 403

在delphi中将Jnet_uri转换为Tbitmap