Ошибка: тип программы уже существует: org.hamcrest.CoreMatchers - PullRequest
0 голосов
/ 05 сентября 2018

Когда я создаю свое приложение, я получаю следующую ошибку: Тип программы уже присутствует: org.hamcrest.CoreMatchers. 1:30 AM Синхронизация Gradle не удалась (6 с 290 мс)

Это мой файл build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.ercess.ercess_app"
        minSdkVersion 17
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0-rc01'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    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.squareup.picasso:picasso:2.71828'
    implementation group: 'com.android.support', name: 'design', version: '28.0.0-rc01'
    implementation 'com.basgeekball:awesome-validation:4.2'

    implementation 'org.apache.httpcomponents:httpclient:4.4-alpha1'

    implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
}

1 Ответ

0 голосов
/ 05 сентября 2018

Вы получаете эту ошибку от D8, потому что путь к классу времени выполнения содержит несколько определений для org.hamcrest.CoreMatchers.

О том, как это исправить, проверьте ответ на трекере: https://issuetracker.google.com/issues/77499230

Синхронизируйте ваш проект в Android Studio, зайдите в Navigate -> Class, убедитесь, что установлен флажок «Включить не-классы проекта», и введите «org.intellij.lang.annotations.Identifier». Android Studio должна показать вам банки, содержащие этот тип. Если вы знакомы с исключением транзитивных зависимостей, исключая одну из зависимостей Maven, которая содержит org.intellij.lang.annotations.Identifier, должна исправить вашу проблему.

Где в вашем случае вместо org.intellij.lang.annotations.Identifier использовать org.hamcrest.CoreMatchers.

...