2016-03-26 1 views
11

Mon projet fonctionnait bien jusqu'à ce que j'ai ajouté la dépendance de Facebook. J'ai commencé à recevoir cette erreur. J'ai lu beaucoup de questions, le problème semble être lié à MultiDex. Mais aucune des solutions a fonctionné pour moiAndroid - transformer des classes avec Dex pour déboguer

Error:Execution failed for task ':app:transformClassesWithDexForDebug'. 
> com.android.build.api.transform.TransformException: 
com.android.ide.common.process.ProcessException: 
org.gradle.process.internal.ExecException: Process 'command 
'/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished with non-zero exit value 1 

Même après que je retire ce que j'ai ajouté, il reste et montrent aussi gradle semble prendre beaucoup de temps lors de la construction que d'habitude

Voici mon build.gradle

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

defaultConfig { 
    applicationId "net.ciblo.spectrodraft" 
    minSdkVersion 15 
    targetSdkVersion 23 
    versionCode 1 
    multiDexEnabled true 

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

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 

repositories { 
    mavenCentral() 
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } 

} 
compile 'com.facebook.android:facebook-android-sdk:[4,5)' 
compile 'com.android.support:multidex:1.0.1' 
compile 'com.android.support:appcompat-v7:23.2.1' 
compile 'com.android.support:cardview-v7:23.2.1' 
compile 'com.android.support:design:23.2.1' 
compile 'com.daimajia.easing:library:[email protected]' 
compile 'com.daimajia.androidanimations:library:[email protected]' 
compile 'com.google.android.gms:play-services:8.4.0' 
compile 'com.mcxiaoke.volley:library-aar:1.0.0' 
compile 'com.pnikosis:materialish-progress:1.5' 
compile 'com.nineoldandroids:library:2.4.+' 
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT' 
compile 'com.android.support:support-v4:23.2.1' 
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' 

} 
+0

Voyez-vous une erreur plus spécifique lorsque vous créez sur la ligne de commande avec --debug et --stacktrace? –

+0

Désolé, je ne sais pas comment construire avec la ligne de commande –

+0

@HarounSMIDA Pouvez-vous poster le journal complet de Gradle Console? –

Répondre

8

ajoutant le code suivant au module build.gradle app a résolu mon problème

android{ 
    defaultConfig { 

     // Enabling multidex support. 
     multiDexEnabled true 
    } 


    dexOptions { 
     javaMaxHeapSize "4g" 
    } 
} 
dependencies { 
    //... 
    compile 'com.android.support:multidex:1.0.0' 
} 
+2

Donc l'ajout que vous avez fait est ** javaMaxHeapSize "4g" **? –

+0

Oui c'est ce que j'ai ajouté –

+0

très belle solution, merci. J'ai essayé avec juste '' multiDexEnabled true'' et il est passé. Je n'avais pas besoin d'inclure les autres lignes de code. Testez si cela fonctionne; sinon, continuez d'ajouter le reste de ce que Haroun a décrit. –

4

Vous pouvez compiler de manière sélective des API de service Google Play dans votre application. Par exemple, pour inclure uniquement les API Google Fit Wear et Android, remplacez la ligne suivante dans votre fichier build.gradle:

compile 'com.google.android.gms:play-services:8.4.0' 

avec ces lignes:

compile 'com.google.android.gms:play-services-fitness:8.4.0' 
compile 'com.google.android.gms:play-services-wearable:8.4.0' 

==> pour maintenir le nombre des méthodes dans votre application (y compris les API de structure, les méthodes de bibliothèque et votre propre code) sous la limite de 65 536.

+0

quelles API devrais-je compiler pour utiliser des cartes, le cadre – Anup

+1

lié à la géo-barrière, vous allez recevoir ce dont vous avez besoin ici: https://developers.google.com/android/guides/setup –