Почему я получаю дублирующийся класс при запуске моего проекта Android - PullRequest
3 голосов
/ 07 мая 2019

Я добавляю навигационную панель в свое приложение. и я получаю ошибки. Приложение Gradle синхронизируется просто отлично. но когда я запускаю приложение, я получаю кучу повторяющихся ошибок класса. Я думаю, что это может быть потому, что у меня добавлены конфликтующие зависимости и что я использую v7 28.0.0 и некоторые ошибки упоминают приложение: v4. все примеры, которые я видел в сети, используют v7 28.0.0, хотя у меня это есть в main_activity.xml, который использует v4. не знаю, связано ли это с ошибкой. android.support.v4.widget.DrawerLayout

Caused by: com.android.ide.common.workers.WorkerExecutorException: 1 exception was raised by workers:
java.lang.RuntimeException: java.lang.RuntimeException: Duplicate class android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat found in modules classes.jar (com.android.support:support-compat:28.0.0) and classes.jar (com.android.support:support-v4:24.0.0)
Duplicate class android.support.v4.app.ActionBarDrawerToggle found in modules classes.jar (com.android.support:support-core-ui:28.0.0) and classes.jar (com.android.support:support-v4:24.0.0)
Duplicate class android.support.v4.app.ActionBarDrawerToggle$Delegate found in modules classes.jar (com.android.support:support-core-ui:28.0.0) and classes.jar (com.android.support:support-v4:24.0.0)
Duplicate class android.support.v4.app.ActionBarDrawerToggle$DelegateProvider found in modules classes.jar (com.android.support:support-core-ui:28.0.0) and classes.jar (com.android.support:support-v4:24.0.0)
Duplicate class android.support.v4.app.ActionBarDrawerToggle$SlideDrawable found in modules classes.jar (com.android.support:support-core-ui:28.0.0) and classes.jar (com.android.support:support-v4:24.0.0)
Duplicate class android.support.v4.app.ActivityCompat found in modules classes.jar (com.android.support:support-compat:28.0.0) and classes.jar (com.android.support:support-v4:24.0.0)
Duplicate class android.support.v4.app.ActivityCompat$1 found in modules classes.jar (com.android.support:support-compat:28.0.0) and classes.jar (com.android.support:support-v4:24.0.0)
Duplicate class android.support.v4.app.ActivityCompat$OnRequestPermissionsResultCallback found in modules classes.jar (com.android.support:support-compat:28.0.0) and classes.jar (com.android.support:support-v4:24.0.0)

файл graddle

apply plugin: 'com.android.application'

android {    

    compileSdkVersion 28
    defaultConfig {
        applicationId "org.pctechtips.netdroid"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 8
        versionName "1.7"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled = false
        signingConfig signingConfigs.config
    }
    buildTypes {
        release {
            shrinkResources false
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            debuggable false

        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    /*androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
                        exclude group: 'com.android.support', module: 'support-annotations'
                        firebase
                        implementation 'com.google.firebase:firebase-core:10.2.1'
                    })*/
    //    compile 'com.android.support:appcompat-v7:25.3.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    /*google play plugin for adMob*/
    implementation 'com.google.android.gms:play-services:10.2.1'
    implementation 'commons-net:commons-net:3.6'
    implementation 'org.samba.jcifs:jcifs:1.3.3'
}

Ответы [ 4 ]

1 голос
/ 21 июня 2019

Перейдите в gradle.properties и напишите следующие две строки кода:

android.useAndroidX = истина android.enableJetifier = истина

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

Эта ошибка означает, что есть библиотеки с одинаковыми методами, и complier не сможет определить, какая из них должна использоваться в вашем проекте, и какая ошибка выдается. Вы должны исключить конфликтующую библиотеку в своем файле Gradle. Как показывает журнал, модуль classes.jar имеет дублированные классы.

    android{
    ...
        configurations {

                all*.exclude group:'android.support.v4.app' module: ‘classes.jar’
                all*.exclude group:'android.support.v4.accessibilityservice' module: ‘classes.jar’
        }
    }

Это будет разрешено исключение.

0 голосов
/ 16 июля 2019

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

0 голосов
/ 27 июня 2019

Пожалуйста, обновите com.google.android.gms: play-services до последней версии.это сработает.

...