所有com.android.support libraris必须使用相同的版本

时间:2018-06-08 23:08:08

标签: android android-support-library

https://snag.gy/9kujyf.jpg

这是一个截图...

此行有错误

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

这一行是我根据弹出推荐添加的2个库。

implementation 'com.android.support:animated-vector-drawable:28.0.0-alpha3'
implementation 'com.android.support:support-media-compat:28.0.0-alpha3'

我该如何纠正?我已经在这里尝试了很多方法,但没有一个适合我,所以我发布了我的具体情况。谢谢!

这是我的gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "android.cast.thought.thoughtcastandroid"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
    implementation 'com.android.support:animated-vector-drawable:28.0.0-alpha3'
    implementation 'com.android.support:support-media-compat:28.0.0-alpha3'
    implementation 'com.android.support.constraint:constraint-layout:1.1.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 
    wearApp project(':wear')
    implementation 'com.synnapps:carouselview:0.1.4'
    implementation 'com.google.android.gms:play-services-wearable:+'
    implementation project(':iskn_api-release')
}

编辑添加了gradle文件

4 个答案:

答案 0 :(得分:3)

我已经尝试了你的gradle代码,我发现当你使用其他库时,如下面提到的你的代码。

   wearApp project(':wear')
    implementation 'com.synnapps:carouselview:0.1.4'
    implementation 'com.google.android.gms:play-services-wearable:+'
    implementation project(':iskn_api-release')

现在发生的情况是,当这些库大部分形成时,SDK版本可能是26或27,所以当我们添加这样的库时,它显示了依赖性的冲突,因为我们没有使用相同的SDK版本,因此,没有完美的我可以找到的解决方案,但对于这个特殊情况,我添加的两个依赖项删除了错误。代码如下所示。

  implementation 'com.android.support:support-v4:28.0.0-alpha3'
    implementation 'com.android.support:recyclerview-v7:28.0.0-alpha3'

请在你的gradle文件中添加2个依赖项,如果仍然存在问题,请检查项目gradle中的classpath版本,我的3.1.3相同如下所示。

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

希望能解决问题。

答案 1 :(得分:0)

错误显示您包含2个版本的支持库 - 26.1.0以及28.0.0-alpha3。这意味着您的其他库之一依赖于版本26.1.0。

使用此命令从终端检查依赖关系树图:
- gradle app:dependencies./gradlew app:dependencies
- app是您的项目模块

找出哪个库具有与版本26.1.0相同的依赖关系并将其排除在gradle中。例如:

dependencies {
     implementation('com.android.support:recyclerview-v7:22.2.0') {
         exclude group: 'com.android.support', module:'appcompat-v7'
     }
 }

答案 2 :(得分:0)

我对Android Studio 3.1的build.gradle(模块:应用程序)有疑问(编译SDK版本28)并且我已完成此修改

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "lovaton.kinley.conteointerfaz"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

答案 3 :(得分:0)

对我来说,在应用程序级别gradle中将这些冲突的依赖项与较新版本一起添加即可解决此问题。

例如。

def SUPPORT_VERSION = "28.0.0"

implementation "com.android.support:appcompat-v7:${SUPPORT_VERSION}"
implementation "com.android.support:cardview-v7:${SUPPORT_VERSION}"
implementation "com.android.support:design:${SUPPORT_VERSION}"
implementation "com.android.support:recyclerview-v7:${SUPPORT_VERSION}"
implementation "com.android.support:gridlayout-v7:${SUPPORT_VERSION}"

// added below dependencies to resolve conflict 
// these dependencies have different version for some different sdk i am using
implementation "com.android.support:support-media-compat:${SUPPORT_VERSION}"
implementation "com.android.support:support-v4:${SUPPORT_VERSION}"