更新到android studio 2.3后,我收到了这个错误消息。我知道这只是一个提示,因为应用程序运行正常,但这真的很奇怪。

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

我的成绩:

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'
}

当前回答

解决这个问题的最佳方法是实现AndroidStudio建议的所有“com.android.support:…”

(无论您使用的是哪种支持版本–27.1.1、28.0.0等)

将光标放在错误行,例如。

implementation 'com.android.support:appcompat-v7:28.0.0'

Android Studio将向您建议“com.Android.support:…”是不同于'com.android.support:appcompat-v7:28.0.0'

实例

所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本28.0.0、27.1.0和27.0.2。示例包括com.android.support:animatedvector-drawable:28.0.0和com.android.com/support:exifinterface:27.1.0

所以添加com.android.support:animatedvector-drawable:28.0.0&com.android.support:exifinterface:28.0.0。现在同步渐变文件。

一个接一个地尝试实现所有建议的“com.android.support:…”,直到此行实现“com.andrio.support:appcompat-v7:28.0.0”中没有错误

就我而言,我补充道

implementation 'com.android.support:appcompat-v7:28.0.0'

implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'

所有这些依赖关系,对你来说可能会有所不同。

其他回答

将此添加到build.gradle(模块:应用程序)的末尾:

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

   }
}

确保将“25.3.1”替换为要用于所有依赖项的android支持库版本,该版本不应低于compile sdk版本

比重新同步渐变

我的问题和你的相似。这里存在一个错误!

编译“com.android.support:appcompat-v7:25.3.0”

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

看到这个示例包括“com.android.support:animatedvector-drawable:25.3.0”和“com.andrio.support:mediarouter-v7:24.0.0”

只需在依赖项中添加这些代码,确保版本相同。

compile 'com.android.support:animated-vector-drawable:25.3.0'
compile 'com.android.support:mediarouter-v7:25.3.0'

使用新版本的android studio 3.x非常简单。

只需复制低于当前版本的版本,然后使用与当前版本相同的版本号显式添加。

实例

找到版本27.1.1、27.1.0。示例包括com.android.support:animatedvector-drawable:27.1.1和com.android.com/support:exifinterface:27.1.0

只需复制版本com.android.support:exifinterface:27.1.0并将其更改为com.android.com/support:exifinterface:227.1.1,使其与当前使用的版本相同,然后将其添加到gradle依赖项中,如下所示。

implementation 'com.android.support:exifinterface:27.1.1'

注意:完成后,不要忘记单击编辑器顶部的“立即同步”。

对我来说,错误是由于我导入的第三方库使用了较旧的Google Support library模块造成的。我只是将它们更新到最新版本(例如在Github上检查),错误就消失了。我建议检查你的build.gradle中包含的所有非Google库是否是最新的。

我通过添加