添加指示重复的新依赖项后项目构建失败 class

Project build failed after adding a new dependency indicating Duplicate class

我在处理我的应用程序时一切正常,直到我想添加一个条形码扫描器,当我添加这个 implementation 'info.androidhive:barcode-reader:1.1.5'

我的应用程序开始构建失败并出现此错误:

Duplicate class android.support.design.widget.CoordinatorLayout found in 
modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and 
classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout found in 
modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and 
classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$Behavior 
found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) 
and classes.jar (com.android.support:design:27.0.0)
Duplicate class 
android.support.design.widget.CoordinatorLayout$DefaultBehavior found in 
modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and 
classes.jar (com.android.support:design:27.0.0)
Duplicate class 
android.support.design.widget.CoordinatorLayout$DispatchChangeEvent found in 
modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and 
classes.jar (com.android.support:design:27.0.0)
Duplicate class 
android.support.design.widget.CoordinatorLayout$HierarchyChangeListener 
found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) 
and classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$LayoutParams 
found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) 
and classes.jar (com.android.support:design:27.0.0)
Duplicate class 
android.support.design.widget.CoordinatorLayout$OnPreDrawListener found in 
modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and 
classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$SavedState 
found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) 
and classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$SavedState 
found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) 
and classes.jar (com.android.support:design:27.0.0)
Duplicate class 
android.support.design.widget.CoordinatorLayout$ViewElevationComparator 
found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) 
and classes.jar (com.android.support:design:27.0.0)

Go to the documentation to learn how to Fix dependency resolution errors.

当然,Go to Documentation link 不会带我去任何地方。

这也是我的 gradle 亲属:

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.jakewharton:butterknife:9.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.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.google.android.gms:play-services-vision:17.0.2'
implementation 'org.jetbrains:annotations-java5:15.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
implementation `'info.androidhive:barcode-reader:1.1.5'`
}

当我删除 'info.androidhive:barcode-reader:1.1.5' 依赖项时,它构建良好(但我需要它)。 我不知道要删除什么或做什么,欢迎任何提示。

当我显式添加此依赖项时,问题已解决:

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

由于传递依赖性,您有同一个工件的两个版本。

barcode-reader 个工件中排除 com.android.support 组。

implementation ('info.androidhive:barcode-reader:1.1.5'){
        exclude group: "com.android.support"
}