Αδυναμία συγχώνευσης dex

Έχω το Android Studio Beta. Δημιούργησα ένα νέο έργο με τη μεταγλώττιση των παλαιών μου ενοτήτων, αλλά όταν προσπάθησα να εκκινήσω την εφαρμογή δεν ξεκίνησε με το μήνυμα:

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

Αλλά δεν ξέρω πώς να λύσω αυτό το σφάλμα. Το έψαξα στο google για ώρες, αλλά χωρίς επιτυχία.

Το έργο μου gradle:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-beta6'
        classpath "io.realm:realm-gradle-plugin:3.7.1"
        classpath 'com.google.gms:google-services:3.1.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Η εφαρμογή μου gradle:

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "parad0x.sk.onlyforyou"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
        }
    }
    compileOptions {
        targetCompatibility 1.7
        sourceCompatibility 1.7
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }
    lintOptions {
        checkReleaseBuilds false
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    //noinspection GradleCompatible
    compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
    compile project(path: ':loginregisterview')

}

Και η ενότητα gradle μου:

    apply plugin: 'com.android.library'
apply plugin: 'realm-android'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.0.2'
    compile 'com.android.support:support-v4:26.1.0'
    compile 'com.github.bumptech.glide:glide:4.0.0'
    testCompile 'junit:junit:4.12'
    compile project(path: ':parser')

}

Η δεύτερη ενότητα μου:

     apply plugin: 'com.android.library'
apply plugin: 'realm-android'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

    realm {
        syncEnabled = true
    }
    useLibrary 'org.apache.http.legacy'

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile 'junit:junit:4.12'
    //  compile 'com.android.support:appcompat-v7:23.1.0'

    //   compile 'com.fasterxml.jackson.core:jackson-core:2.9.0'
 //   compile 'com.fasterxml.jackson.core:jackson-annotations:2.9.0'
 //   compile 'com.fasterxml.jackson.core:jackson-databind:2.9.0'
    compile 'com.google.code.gson:gson:2.6.2'
}

____finding_____

Όταν δεν εισήγαγα το δεύτερο module (parser) η εφαρμογή δεν κατέρρευσε στο dex αλλά όταν το module δεν εισήχθη η εφαρμογή δεν δούλευε. :D :D

  1. Διαγράψτε τον κατάλογο .gradle.

  2. Εκτελέστε ξανά την εφαρμογή σας.

Σημειώσεις

  • Ο κατάλογος .gradle βρίσκεται στο ριζικό φάκελο του έργου σας. (Ίσως χρειαστεί να εμφανίσετε πρώτα τα κρυμμένα αρχεία).
  • Πρέπει να το κάνω αυτό κάθε φορά που ενημερώνω μια ενότητα εξάρτησης χρησιμοποιώντας το Android 3.0. (Οι πιο πρόσφατες εκδόσεις του Android Studio 3 φαίνεται να έχουν επιλύσει το πρόβλημα).
Σχόλια (2)

Η διαγραφή του .gradle όπως πρότεινε ο Suragch δεν ήταν αρκετή για μένα. Επιπλέον, έπρεπε να εκτελέσω ένα Build > Clean Project.

Σημειώστε ότι, για να δείτε το .gradle, πρέπει να μεταβείτε στην προβολή "Project" στον πλοηγό πάνω αριστερά:

1

Σχόλια (0)

Δυστυχώς, ούτε οι λύσεις Michel's ούτε Suragch's λειτούργησαν για μένα.

Αυτό που τελικά έπρεπε να κάνω ήταν απλά να επαναφέρω την com.google.firebase:firebase-database στην έκδοση 10.0.1, καθώς η 11.4.0 προκαλούσε προειδοποίηση ασυνέπειας εξαρτήσεων στο αρχείο gradle της εφαρμογής μου.

Σχόλια (1)