我在网上搜索过这个错误,这个问题似乎总是出现某种依赖性冲突。我想我应该在某些依赖之后添加exclude
,但我不确定哪一个。根据错误我也应该明确排除的依赖性也不清楚;我所知道的是group
可能是com.android.support
...
这是我尝试过的:
multiDexEnabled true
添加到defaultConfig
中的build.gradle
块。.gradle
目录。compileSdkVersion
和targetSdkVersion
相同。26.1.0
)。尽管如此,我在构建时仍会遇到此错误:
Program type already present: android.support.compat.R$bool
并从Java编译器:
Caused by: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
F:\ExampleProject\app\build\intermediates\transforms\dexBuilder\debug\115,
F:\ExampleProject\app\build\intermediates\transforms\externalLibsDexMerger\debug\0
这是我的模块的build.gradle
文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.myapp.exampleproject"
minSdkVersion 17
targetSdkVersion 26
versionCode 1
versionName "1.2"
}
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:26.1.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.android.support:support-compat:26.1.0'
implementation 'com.android.volley:volley:1.1.0'
implementation 'com.github.bumptech.glide:glide:4.1.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.1.0'
}
最后,我的项目是build.gradle
文件:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
任何帮助纠正这一点将不胜感激。
答案 0 :(得分:1)
这是Glide 4.1.0的问题。使用版本4.1.1而不是通过从其依赖项中删除R * .class文件来修复错误。 (source)
答案 1 :(得分:0)
答案 2 :(得分:0)
解决方案:
implementation ('com.github.bumptech.glide:glide:4.1.0') {
exclude group: 'com.android.support'
exclude module: 'support-fragment'
exclude module: 'appcompat-v7'
}