更新到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'
}

当前回答

以下是修复此警告的流程

建筑物玻璃

android {
    compileSdkVersion ... // must same version (ex: 26)
    ...
}

dependencies {
    ...
    compile 'any com.android.support... library'  // must same version (ex: 26.0.1)
    compile 'any com.android.support... library'  // must same version (ex: 26.0.1)

    ...
    compile ('a library B which don't use 'com.android.support...' OR use SAME version of 'com.android.support'){
         // do nothing 
    }

    ...
    compile ('a library C which use DIFFERENT 'com.android.support...' (ex:27.0.1) { 
        // By default, if use don't do anything here your app will choose the higher com.android.support... for whole project (in this case it is 27.0.1)

        // If you want to use 26.0.1 use
        exclude group: 'com.android.support', module: '...' (ex module: 'appcompat-v7') 
        exclude group: 'com.android.support', module: 'another module'
        ...

        // If you want to use 27.0.1 do 
        Upgrade `compileSdkVersion` and all 'com.android.support' to 27.0.1.
        (It may be a good solution because the best practice is always use latest `compileSdkVersion`.  
        However, use 26 or 27 is base on you for example higher library may have bug)
    }
}

查看/验证应用程序中所有库的依赖关系打开终端并运行/gradlew应用程序:依存关系

要查看应用程序中特定库的依赖项,请遵循以下教程:-如何在Gradle中排除特定依赖项的依赖项

希望能有所帮助

其他回答

对于所有情况,不仅仅是这些版本或库:

注意这个小信息窗口,它显示了一些关于错误的信息,其中显示了您必须更改和添加的示例。

在这种情况下:

找到版本25.1.1、24.0.0。示例包括com.android.support:animatedvector-drawable:25.11和com.android.support:mediarouter-v7:24.0.0

Your

support:动画矢量可绘制:25.1.1

是版本25.1.1

com.android.support:mediarouter-v7:24.0.0

版本为24.0.0,因此您必须添加具有相同版本的mediarouter:

com.android.support:mediarouter-v7:25.1.1

对于小信息窗口显示的每个示例,都要这样做,在本例中,所有没有25.1.1版本的库都要这样。

修复指定的库后,必须同步放坡,以查看需要更改的下一个库和包。

重要:如果您没有显式地使用一个或多个指定的库,并且它会给您带来错误,这意味着另一个库正在内部使用它,那么无论如何都要显式地编译它。

您还可以使用另一种方法来查看您实际编译的所有库的版本的差异(例如运行grade依赖关系报告或转到库文件),真正的目的是编译您使用的所有库,使其具有相同的版本。

在搜索和组合答案后,2018年版本的这个问题对我很有用:

1) 在导航选项卡上,将其更改为项目视图

2) 导航到[YourProjectName]/.didea/libraries/

3) 删除以Gradle__com_android_support_[libraryName]开头的所有文件

例如:Gradle__com_android_support_animed_vector_drawable_26__0.xml

4) 在渐变文件中定义一个变量,并使用它来替换版本号,如${variableName}

Def变量:

ext {
    support_library_version = '28.0.0' //use the version of choice
}

使用变量:

implementation "com.android.support:cardview-v7:${support_library_version}"

示例渐变:

dependencies {
    ext {
        support_library_version = '28.0.0' //use the version of choice
    }

    implementation fileTree(include: ['*.jar'], dir: 'libs')

    implementation "com.android.support:animated-vector-drawable:${support_library_version}"
    implementation "com.android.support:appcompat-v7:${support_library_version}"
    implementation "com.android.support:customtabs:${support_library_version}"
    implementation "com.android.support:cardview-v7:${support_library_version}"
    implementation "com.android.support:support-compat:${support_library_version}"
    implementation "com.android.support:support-v4:${support_library_version}"
    implementation "com.android.support:support-core-utils:${support_library_version}"
    implementation "com.android.support:support-core-ui:${support_library_version}"
    implementation "com.android.support:support-fragment:${support_library_version}"
    implementation "com.android.support:support-media-compat:${support_library_version}"
    implementation "com.android.support:appcompat-v7:${support_library_version}"
    implementation "com.android.support:recyclerview-v7:${support_library_version}"
    implementation "com.android.support:design:${support_library_version}"

}

如果appcompat上出现相同错误

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

然后添加设计解决了这个问题。

implementation 'com.android.support:appcompat-v7:27.0.1'
implementation 'com.android.support:design:27.0.1'

对我来说

implementation 'de.mrmaffen:vlc-android-sdk:2.0.6'

包括appcompat-v7:23.1.1

.didea/库

没有vlc,仅appcompat就足够了。

我刚刚添加的解决方案

//noinspection GradleCompatible

我构建来测试我的应用程序,一切正常。

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