2015-09-23 1 views
0

Hey j'ai un grand projet android après avoir ajouté un grand nombre de fichiers j'ai commencé àNoClassDef après après l'ajout multiDexEnabled

UNEXPECTED TOP-LEVEL EXCEPTION: 
com.android.dex.DexException: Multiple dex files define 

si je cherchais mon problème et je trouve une solution en ajoutant cette propriété au Gradle fichier, mais après avoir ajouté le projet de construire avec succès

mais quand je lance le projet, je reçois une erreur NoClassDef sur une partie de mon fragment et l'activité

c'est mon gradle

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 
    defaultConfig { 
     applicationId "cloudappers.com.rta_ca" 
     minSdkVersion 17 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0" 

     multiDexEnabled = true 

    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    dexOptions { 
     preDexLibraries = false 
    } 
} 
allprojects { 
    repositories { 
     mavenCentral() 
     jcenter() 
     maven { url 'https://github.com/leonardocardoso/mvn-repo/raw/master/maven-deploy' } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile project(':bounceScroller') 
    compile project(':SwipeMenu') 
    compile project(':indicator') 
    compile files('libs/android-async-http.jar') 
    compile('com.weiwangcn.betterspinner:library:1.1.0') { 
     exclude group: 'com.android.support', module: 'appcompat-v7' 
    } 
    compile files('libs/org.apache.commons.io.jar') 
    compile 'com.android.support:appcompat-v7:22.0.0' 
    compile 'com.nineoldandroids:library:2.4.0' 
    compile 'com.daimajia.easing:library:[email protected]' 
    compile 'com.daimajia.androidanimations:library:[email protected]' 
    compile 'com.edmodo:cropper:1.0.1' 
    compile 'com.github.bumptech.glide:glide:3.6.1' 
    compile 'com.leocardz:aelv:[email protected]' 
    compile 'com.google.android.gms:play-services:7.8.0' 
    compile 'com.google.android.gms:play-services-ads:7.8.0' 
    compile 'com.google.android.gms:play-services-identity:7.8.0' 
    compile 'com.google.android.gms:play-services-gcm:7.8.0' 
    compile 'com.android.support:multidex:1.0.0' 


} 

il fonctionne sur Android 5 mais pas sur 4,4 et avant

Toute aide?

+0

@AndiGeeky merci j'ai posté mon gradle – Tony

+0

Si vous utilisez 'compile fileTree (dir:' libs ', inclure: [' * .jar '])' alors inutile d'utiliser: compiler des fichiers ('libs/android -async-http.jar ') compiler les fichiers (' libs/org.apache.commons.io.jar ') ..Pour le supprimer s'il vous plait .. !! – AndiGeeky

+0

Dois-je changer quelque chose dans mon manifeste si je veux ajouter multidex activé? – Tony

Répondre

1

À partir de votre gradle ici:

1. compile fileTree(dir: 'libs', include: ['*.jar']) 
2. compile files('libs/android-async-http.jar') 
3. compile files('libs/org.apache.commons.io.jar') 

Maintenant, si vous avez utilisé la ligne 1 alors pas besoin d'ajouter la ligne 2 & 3.

La raison est que 'compile fileTree(dir: 'libs', include: ['*.jar'])' inclut tous les fichiers jar à Gradle qui est en libs dossier ..

donc supprimer la ligne 2 & 3.

Merci. !!