我的编译由于某种原因而失败,但是更早的时候它运行良好。
这是我在尝试编译项目时遇到的错误:
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支持库版本进行编译。
答案 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会自行告诉您该库具有可用的新版本。