Περισσότερα
Αδυναμία συγχώνευσης 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
296
3
Διαγράψτε τον κατάλογο
.gradle
.Εκτελέστε ξανά την εφαρμογή σας.
Σημειώσεις
.gradle
βρίσκεται στο ριζικό φάκελο του έργου σας. (Ίσως χρειαστεί να εμφανίσετε πρώτα τα κρυμμένα αρχεία).Η διαγραφή του
.gradle
όπως πρότεινε ο Suragch δεν ήταν αρκετή για μένα. Επιπλέον, έπρεπε να εκτελέσω έναBuild > Clean Project
.Σημειώστε ότι, για να δείτε το
.gradle
, πρέπει να μεταβείτε στην προβολή "Project" στον πλοηγό πάνω αριστερά:Δυστυχώς, ούτε οι λύσεις Michel's ούτε Suragch's λειτούργησαν για μένα.
Αυτό που τελικά έπρεπε να κάνω ήταν απλά να επαναφέρω την
com.google.firebase:firebase-database
στην έκδοση 10.0.1, καθώς η 11.4.0 προκαλούσε προειδοποίηση ασυνέπειας εξαρτήσεων στο αρχείο gradle της εφαρμογής μου.