Сбой сборки проекта после добавления новой зависимости, указывающей на класс Duplicate - PullRequest
1 голос
/ 24 мая 2019

Я работал над своим приложением, все было нормально, пока я не хотел добавить сканер штрих-кода, когда я добавил это 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$1 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$1 
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 никуда меня не приведет.

также вот мои зависимости 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', онастроит нормально (но мне это нужно).я не знаю, что удалить или что делать, любые подсказки приветствуются.

Ответы [ 2 ]

1 голос
/ 24 мая 2019

Из-за транзитивной зависимости у вас есть две версии одного и того же артефакта.

Исключить com.android.support группу из barcode-reader артефакта.

implementation ('info.androidhive:barcode-reader:1.1.5'){
        exclude group: "com.android.support"
}
0 голосов
/ 24 мая 2019

Проблема была решена, когда я добавил эти зависимости явно:

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'
...