Android Studio-Gradle编译失败

时间:2018-07-21 16:37:54

标签: android android-gradle gradlew

我的编译由于某种原因而失败,但是更早的时候它运行良好。

这是我在尝试编译项目时遇到的错误:

Program type already present: android.support.design.widget.CoordinatorLayout$Behavior
Message{kind=ERROR, text=Program type already present: android.support.design.widget.CoordinatorLayout$Behavior, sources=[Unknown source file], tool name=Optional.of(D8)}

(构建)app.iml:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "appjoe.wordpress.com.testdemo"
        minSdkVersion 23
        targetSdkVersion 26
        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:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation 'com.android.support:support-v4:26.1.0'
    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'
    implementation 'com.android.support:design:26.1.0'

    // picasso and volley
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'eu.the4thfloor.volley:com.android.volley:2015.05.28'

    // retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'

    // rxjava & rxandroid
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.16'

    // glide
    implementation 'com.github.bumptech.glide:glide:4.7.1'

    // android views
    implementation 'com.android.support:cardview-v7:26.1.0'
    implementation 'com.android.support:recyclerview-v7:26.1.0'
}

在依赖项区域,第二个依赖项也出现错误:

  

所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本27.1.1、27.1.0、26.1.0。示例包括com.android.support:support-compat:27.1.1和com.android.support:exifinterface:27.1.0以下...(Ctrl + 1)

     

有些库,工具和库的组合不兼容或可能导致错误。一种不兼容的情况是使用不是最新版本(或特别是低于targetSdkVersion的版本)的Android支持库版本进行编译。

1 个答案:

答案 0 :(得分:0)

这是因为在依赖项中,某些库(支持库除外)所使用的支持库版本与您使用的库版本不同,这就是您收到此错误的原因。您混合使用了支持库依赖版本26和27。

因此,您需要使用匹配的支持库(版本27.1.1)。将您的build.gradle更改为以下内容:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27 // use version 27
    defaultConfig {
        applicationId "appjoe.wordpress.com.testdemo"
        minSdkVersion 23
        targetSdkVersion 27 // targeting api version 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(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation 'com.android.support:support-v4:27.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'
    implementation 'com.android.support:design:27.1.1'

    // picasso and volley
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'eu.the4thfloor.volley:com.android.volley:2015.05.28'

    // retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'

    // rxjava & rxandroid
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.16'

    // glide
    implementation 'com.github.bumptech.glide:glide:4.7.1'

    // android views
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
}

OR

将您的库版本升级到新版本。只需将光标放在每个库上即可。 Android studio会自行告诉您该库具有可用的新版本。