În imposibilitatea de a fuziona dex

Am Android Studio Beta. Am creat un nou proiect cu mi compila modulele vechi dar când am încercat lansarea app nu lansa cu mesajul:

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

com.android.constructor.dexing.DexArchiveMergerException: Imposibilitatea de a fuziona dex

Dar eu nu't știu cum să rezolve această eroare. Am căutat pe google acest lucru pentru ore, dar fără succes.

Proiectul meu 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
}

Aplicația mea 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')

}

Și modulul meu 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')

}

Doua module:

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

____găsirea_____

Când am făcut-o nu de import al doilea modul (parser) app nu accident de pe dex dar când modulul nu a fost importat app nu au de lucru. :D :D

Comentarii la întrebare (2)

Am incercat toate cele de mai sus și nici unul dintre ei ajută. în cele din urmă, am găsi acest lucru pentru mine:

app/construi.gradle:

android {
    defaultConfig {
       multiDexEnabled true
    }
}
Comentarii (7)
Soluția

Am avut aceeași problemă când am actualiza din com.google.android.aga:joaca-servicii:11.2.2 " la " com.google.android.aga:joaca-servicii:11.4.0`. Asta a rezolvat-o pentru mine:

  1. curat
  2. reconstrui
Comentarii (6)

Acorde o atenție la Avertismente!

Uneori ai nevoie doar pentru a elimina avertismente și **** eroare va fi dispărut în mod automat. Vezi mai jos un caz special:


Am avut aceste două dependențe în modul de nivel de a construi.gradle fișier:

implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support:recyclerview-v7:27.0.2'

și Studio a avertizat (în plus față de dex fuzionează problema):

Toate com.android.suport bibliotecile trebuie să folosească exact același versiune caietul de sarcini (amestecarea versiuni pot duce la runtime accidente). Găsit versiuni27.0.2,21.0.3. Exemplele includcom.android.suport:animat-vector-drawable:27.0.2 " și " com.android.suport:suport-v4:21.0.3`

Deci am fost destul de explicit determinată versiunea de com.android.suport:suport-v4` (a se vedea aici pentru detalii) și ambele probleme (avertizare și cea referitoare la dex care fuzionează) rezolvat:

implementation 'com.android.support:support-v4:27.0.2'  // Added this line (according to above warning message)
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support:recyclerview-v7:27.0.2'

a se Vedea mai jos comentarii pentru alte situații similare.

Comentarii (5)

În cazul meu, din Păcate, nici Michel's nici Suragch's soluții lucrat pentru mine.

Așa că am rezolvat această problemă de a face următoarele:

În gradle:3.0 la compilare configurare este acum depreciat și ar trebui să fie înlocuit prin: * implementarea sau api**. Pentru mai multe informații puteți citeste aici puteți citi documente oficiale de la Gradle Instrument Construi

compilare de configurare încă există, dar nu ar trebui să fie folosit ca acesta nu va oferi garanții că api și punerea în aplicare configurații oferi.

l's mai bine să utilizați implementarea sau api mai degrabă compilare

doar înlocuiți compilare cu implementarea, debugCompile cu debugImplementation, testCompile cu testImplementation și androidtestcompile cu androidTestImplementation

De exemplu: în Loc de acest lucru

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'

folosi astfel de prognoze

implementation 'com.android.support:appcompat-v7:26.0.2'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.github.bumptech.glide:glide:4.0.0'

După aceea

  • Ștergeți .gradle folder în interiorul proiectului ( Rețineți că, în scopul de a vedea .gradle, aveți nevoie pentru a comuta la "Proiectul" vezi în navigator pe partea din stânga sus )
  • Ștergeți toate construirea de dosare și gradle cache.
  • Din meniul Build, apăsați Curățați Proiect buton.
  • După sarcină finalizată, apăsați Reconstrui Proiect buton din meniul Build.

Sper ca va va ajuta !

Comentarii (11)
  1. Sterge .gradle director.

  2. Rulați aplicația din nou.

Note

  • La .gradle director este în proiect's folderul rădăcină. (Este posibil să aveți pentru a afișa fișierele ascunse în primul rând.)
  • Trebuie să fac asta de fiecare dată când am actualiza o dependență module folosind Android 3.0. (Mai recente versiuni de Android Studio 3 par să fi rezolvat problema.)
Comentarii (2)

"Ștergi".gradle` cum a sugerat de către Suragch fost't suficient pentru mine. În plus, am avut pentru a efectua un Build > Curat Proiectului.

Rețineți că, în scopul de a vedea `.gradle, aveți nevoie pentru a trece la "Proiectul" vezi în navigator pe partea de sus stânga:

Comentarii (0)

Am încercat orice altă soluție, dar nimeni nu a lucrat pentru mine. La final, am rezolvat-o folosind aceeași dependență versiune de editare construi.gradle. Cred că această problemă intervin atunci când se adaugă o bibliotecă în gradle care utilizează diferite dependență versiune de sprijin sau google biblioteci.

Adăugați următorul cod pentru a-ți construi gradle fișier. Apoi `curat " și " reconstrui proiect.

ps: asta a fost demult o solutie pentru mine, așa că ar trebui să utilizați o versiune actualizată a următoarele biblioteci.

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.android.support') {
        if (!requested.name.startsWith("multidex")) {
            details.useVersion '26.1.0'
        }
    } else if (requested.group == "com.google.android.gms") {
        details.useVersion '11.8.0'
        } else if (requested.group == "com.google.firebase") {
            details.useVersion '11.8.0'
          }
      }
}
Comentarii (6)

dacă(1. Încercați pentru a curăța și reconstrui lucru ), atunci bine

altceva dacă (2. Încercați să eliminați gradle lucru ), atunci bine

altceva-> 3. Încercați să adăugați în grad.proprietăți

android.enableD8 = false

altceva-> 4. Adauga multiDexEnabled adevărat pentru a-ți construi.gradle

android {
    compileSdkVersion 26
    defaultConfig {
      ...
        minSdkVersion 15
        targetSdkVersion 26
        multiDexEnabled true
     ...
    }
}

și se adaugă dependența

dependencies {
    compile 'com.android.support:multidex:1.0.1'}

Poate primul care lucrează pentru u și așa mai departe, dar este într-adevăr depinde de natura problemei tale pentru mine de exemplu

Am primit eroarea după ce am adăugat această bibliotecă

implementation 'com.jjoe64:graphview:4.2.2'

și mai târziu am descoperit că trebuie să verificați că și eu trebuie să adăugați aceeași versiune de sprijin biblioteci. Așa că trebuie să încercați o altă versiune

compile 'com.jjoe64:graphview:4.2.1'

și se rezolvă problema. Deci, să acorde o atenție pentru asta.

Comentarii (1)

In cazul meu problema a fost din cauza sală de bibliotecă:

compile 'android.arch.persistence.room:runtime:1.0.0-alpha1'

Schimba-l la:

compile 'android.arch.persistence.room:runtime:1.0.0'

lucrat.

Comentarii (2)

Doar pentru a adăuga la soluțiile de mai sus:

Asigurați-vă că don't au duplicat dependențe arătând spre diferite versiuni ale acestora, în mai multe locuri (sau chiar în același fișier).

Comentarii (1)

Salut am aceeasi problema încercat aproape totul. Deci, în cele din urmă m-am hotărât după 6 ore de lungă luptă de depanare tot linie cu linie.

classpath 'com.google.gms:google-services:3.0.0'

Google services 3.0 Nu - 't suport firebase cu Studio 3.0 cu playServiceVersion: 11.6.0 sau mai puțin.

implementation "com.google.firebase:firebase-messaging:$rootProject.ext.playServiceVersion"
implementation "com.google.firebase:firebase-core:$rootProject.ext.playServiceVersion"
implementation "com.firebase:firebase-jobdispatcher-with-gcm-dep:$rootProject.ext.jobdispatcherVersion"

Soluție :

Am schimba google servicii de a

classpath 'com.google.gms:google-services:3.1.1'

Și sprijin firebase servicii.

Să sperăm că cineva a salva lui/ei timp.

Comentarii (1)
  1. Permite

defaultConfig { multiDexEnabled adevărat }

  1. Dacă pasul 1 nu't de lucru atunci

Du-te la structura proiectului și de a afla externe library este folosind un altă versiune. Faceți dublu clic pe ea și șterge fișier jar. Aproape proiectului și deschide din nou android studio va reconstrui proiectului. Problema ar fi plecat.

Comentarii (1)

Dacă această eroare a apărut după inclusiv kotlin sprijin, și nici unul dintre celelalte soluții de lucru, încercați să schimbați kotlin dependență de modulul app's `construi.gradle să:

implementation ("org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version") {
    exclude group: 'org.jetbrains', module: 'annotations'
}

Aceasta funcționează și pentru mine pe Android Studio 3.0 Beta 6. A se vedea acest răspunde pentru explicații suplimentare.

Comentarii (3)

Una dintre posibilități este: prezența la aceeași bibliotecă, dar cu versiuni diferite în dependențe.

Nu am avut aceasta problema cu următoarele linii în gradle fișier:

  • compila fileTree(include: ['*.borcan'], dir: 'libs')
  • compila 'com.google.cod.gson:gson:2.8.2'

La gson biblioteca a fost în libs director, dar cu o versiune anterioară. Am sters `gson-2.3.1.jar din libs director și totul a revenit la normal.

Comentarii (1)

[ IMPOSIBILITATEA DE A FUZIONA DEX REZOLVAT ] După ore de stivă debordant Am rezolvat " în IMPOSIBILITATEA de A FUZIONA DEX EROARE "

  1. Update toate com.android.linii de sprijin în gradle pentru v27.1.0

Cauza - Android-a actualizat bibliotecile pentru suport pentru v27.1.0, deci va trebui să schimbați toate android linii de sprijin în gradle fișier pentru a 27.1.0 de 26.1.0

  1. Asigurați-vă că depozitele secțiune include o maven secțiunea cu "https://maven.google.com" endpoint. De exemplu:

allprojects { depozite { jcenter() maven { url "https://maven.google.com" } } }

Cauza :- Android nu se poate actualiza sprijinul bibliotecilor în SDK manager și acum se folosește maven.google.com pentru a actualiza , astfel încât să aveți pentru a include acest lucru pentru a utiliza 27.1.0 bibliotecile pentru suport

După Schimbarea Versiune:

  1. Curat Proiectului
  2. Proiectul Reconstrui
Comentarii (0)

Cu Android Studio 3.0 stabil construi pașii de mai Jos lucrat pentru mine:

  1. Trebuie să SdkManager-->Android Sdk --> Sdk Tools și Actualizare Google play servicii la cea mai recentă versiune a 46.
  2. Curat proiectului și de a reconstrui proiect.
Comentarii (0)

adăugați comenzile de mai jos:

android {
...

    dexOptions {

        jumboMode true
        javaMaxHeapSize "4g"

    }
}
Comentarii (0)

Instalarea Google play servicii (ultima versiune) + inclusiv

android {
    defaultConfig {
        multiDexEnabled true
        }
}

în a construi.gradle rezolvat problema pentru mine, asigurați-vă că pentru a curăța și reconstrui proiect!

Comentarii (0)

Sunt de acord cu Chris-Jr. Dacă utilizați Firebase pentru a încorpora anunțuri AdMob (sau chiar dacă nu sunt) play-servicii-google analytics include play-servicii-anunturi chiar dacă tu nu't se adaugă ca o dependență. Google este evident că a făcut o greșeală în 11.4.0 roll-out ca google analytics este inclusiv versiunea 10.0.1 de anunțuri, nu 11.4.0 (mouse-ul peste indiciu în gradle arată acest lucru).

Am adăugat manual compila 'com.google.android.aga:joaca-servicii-anunturi:11.4.0' în partea de sus, care a lucrat, dar numai după ce am dezactivat Instant Rula: https://stackoverflow.com/a/35169716/530047

Astfel încât sa fie regres la 10.0.1 sau să adăugați anunțuri și dezactiva Instant Rula. Ca's ce-am găsit, dacă te ajută cu ceva.

Comentarii (3)

Am avut, de asemenea, problema.

Am fost capabil de a rezolva prin schimbarea compileSdkVersion " și " targetSdkVersion la cea mai recentă versiune.

Comentarii (0)