Тип программы уже присутствует: org.apache.commons.codec.Decoder - PullRequest
0 голосов
/ 30 октября 2018

Я работал над проектом и недавно добавил много библиотек. Затем, когда я пытаюсь запустить проект, я сталкиваюсь со следующей ошибкой

Тип программы уже представлен: org.apache.commons.codec.Decoder

и я не знаю, как это исправить. Я искал много раз, но не смог найти тот же пример со мной.

Ниже приведен список зависимостей приложения Gradle:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.0.0'
    implementation "com.android.support:support-v4:26.0.0"
    implementation 'com.android.support:design:26.0.0'
    implementation project(path: ':downloader_library')

    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.github.bumptech.glide:glide:4.8.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
    implementation 'com.android.volley:volley:1.1.1'
    implementation 'com.nineoldandroids:library:2.4.0'

//    implementation 'com.javacodegeeks:slf4jconfig-javalogging:+'
    implementation 'org.slf4j:slf4j-api:1.7.25'
    implementation 'org.apache.commons:commons-compress:1.12'
}

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'org.apache.commons') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '1.12'
            }
        }
        if (details.requested.group == 'com.android.support'
                && !details.requested.name.contains('multidex') ) {
            details.useVersion "26.0.0"
        }
    }
}

Я испробовал множество решений, таких как изменение версии библиотеки и добавление стратегии разрешения, как указано в коде выше, но решение пока не найдено.

Можете ли вы, ребята, помочь мне решить проблему?

Спасибо

1 Ответ

0 голосов
/ 21 мая 2019

Эта проблема возникла из-за конфликта имен. В этом случае org.apache.commons.codec.Decoder присутствует в нескольких библиотеках. Я также получаю это, когда я включаю Jwt auth0 библиотека. То, что я сделал, чтобы прийти, это

Implementation('com.auth0:java-jwt:3.8.0'){
  exclude module: 'commons-codec'
}

Что вам нужно сделать, это исключить модуль commons-codec при включении новой зависимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...