2015-09-13 22 views
20

Ho ricevuto questo strano errore per tutto oggi - qualcuno sa cosa sta andando storto qui?Android Studios RuntimeException: Eccezione imprevista nel thread del writer dex

Per quanto ne so, sono stato utilizzando correttamente la libreria multidex (il sotto è dal file app.gradle): file di Gradle

defaultConfig { 
    applicationId "com.example.simon" 
    minSdkVersion 14 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
    /*Enabling multidex*/ 
    multiDexEnabled true 
} 

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

mio livello superiore è molto semplice:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.3.0' 
     classpath 'com.google.gms:google-services:1.3.1' 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

Errore:

Executing tasks: [:app:generateDebugSources, 
:app:generateDebugAndroidTestSources] 

Parallel execution with configuration on demand is an incubating 
feature. 
:app:preBuild UP-TO-DATE 
:app:preDebugBuild UP-TO-DATE 
:app:checkDebugManifest 
:app:preReleaseBuild UP-TO-DATE 
:app:prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE 
:app:prepareComAndroidSupportCardviewV72301Library UP-TO-DATE 
:app:prepareComAndroidSupportDesign2301Library UP-TO-DATE 
:app:prepareComAndroidSupportMultidex101Library UP-TO-DATE 
:app:prepareComAndroidSupportPaletteV72301Library UP-TO-DATE 
:app:prepareComAndroidSupportRecyclerviewV72301Library UP-TO-DATE 
:app:prepareComAndroidSupportSupportV42301Library UP-TO-DATE 
:app:prepareComDigitsSdkAndroidDigits162Library UP-TO-DATE 
:app:prepareComFacebookAndroidFacebookAndroidSdk440Library UP-TO-DATE 
:app:prepareComFacebookConcealConceal101Library UP-TO-DATE 
:app:prepareComGithubCurioustechizenAndroidAgoLibrary130Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesAppinvite780Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesBase780Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesGcm780Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesLocation780Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesMaps780Library UP-TO-DATE 
:app:prepareComTheartofdevEdmodoAndroidImageCropper104Library UP-TO-DATE 
:app:prepareComTwitterSdkAndroidTweetComposer080Library UP-TO-DATE 
:app:prepareComTwitterSdkAndroidTweetUi131Library UP-TO-DATE 
:app:prepareComTwitterSdkAndroidTwitter161Library UP-TO-DATE 
:app:prepareComTwitterSdkAndroidTwitterCore141Library UP-TO-DATE 
:app:prepareIoFabricSdkAndroidFabric134Library UP-TO-DATE 
:app:prepareDebugDependencies 
:app:compileDebugAidl UP-TO-DATE 
:app:compileDebugRenderscript UP-TO-DATE 
:app:generateDebugBuildConfig UP-TO-DATE 
:app:generateDebugAssets UP-TO-DATE 
:app:mergeDebugAssets UP-TO-DATE 
:app:generateDebugResValues UP-TO-DATE 
:app:processDebugGoogleServices 
:app:generateDebugResources 
:app:mergeDebugResources UP-TO-DATE 
:app:processDebugManifest UP-TO-DATE 
:app:fabricGenerateResourcesDebug 
:app:processDebugResources 
:app:generateDebugSources 
:app:preDebugAndroidTestBuild UP-TO-DATE 
:app:prepareDebugAndroidTestDependencies 
:app:compileDebugAndroidTestAidl UP-TO-DATE 
:app:processDebugAndroidTestManifest UP-TO-DATE 
:app:compileDebugAndroidTestRenderscript UP-TO-DATE 
:app:generateDebugAndroidTestBuildConfig UP-TO-DATE 
:app:generateDebugAndroidTestAssets UP-TO-DATE 
:app:mergeDebugAndroidTestAssets UP-TO-DATE 
:app:generateDebugAndroidTestResValues UP-TO-DATE 
:app:generateDebugAndroidTestResources UP-TO-DATE 
:app:mergeDebugAndroidTestResources UP-TO-DATE 
:app:processDebugAndroidTestResources UP-TO-DATE 
:app:generateDebugAndroidTestSources UP-TO-DATE 

BUILD SUCCESSFUL 

Total time: 3.913 secs Executing tasks: [:app:assembleDebug] 

Parallel execution with configuration on demand is an incubating 
feature. 
:app:preBuild UP-TO-DATE 
:app:preDebugBuild UP-TO-DATE 
:app:checkDebugManifest 
:app:preReleaseBuild UP-TO-DATE 
:app:prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE 
:app:prepareComAndroidSupportCardviewV72301Library UP-TO-DATE 
:app:prepareComAndroidSupportDesign2301Library UP-TO-DATE 
:app:prepareComAndroidSupportMultidex101Library UP-TO-DATE 
:app:prepareComAndroidSupportPaletteV72301Library UP-TO-DATE 
:app:prepareComAndroidSupportRecyclerviewV72301Library UP-TO-DATE 
:app:prepareComAndroidSupportSupportV42301Library UP-TO-DATE 
:app:prepareComDigitsSdkAndroidDigits162Library UP-TO-DATE 
:app:prepareComFacebookAndroidFacebookAndroidSdk440Library UP-TO-DATE 
:app:prepareComGithubCurioustechizenAndroidAgoLibrary130Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesAppinvite780Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesBase780Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesGcm780Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesLocation780Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesMaps780Library UP-TO-DATE 
:app:prepareComTheartofdevEdmodoAndroidImageCropper104Library 
:app:prepareDebugDependencies 
:app:compileDebugAidl UP-TO-DATE 
:app:compileDebugRenderscript UP-TO-DATE 
:app:generateDebugBuildConfig UP-TO-DATE 
:app:generateDebugAssets UP-TO-DATE 
:app:mergeDebugAssets UP-TO-DATE 
:app:generateDebugResValues UP-TO-DATE 
:app:processDebugGoogleServices 
:app:generateDebugResources 
:app:mergeDebugResources UP-TO-DATE 
:app:processDebugManifest UP-TO-DATE 
:app:fabricGenerateResourcesDebug 
:app:processDebugResources 
:app:generateDebugSources 
:app:processDebugJavaRes UP-TO-DATE 
:app:compileDebugJavaWithJavac UP-TO-DATE 
:app:compileDebugNdk UP-TO-DATE 
:app:compileDebugSources UP-TO-DATE 
:app:collectDebugMultiDexComponents UP-TO-DATE 
:app:packageAllDebugClassesForMultiDex UP-TO-DATE 
:app:shrinkDebugMultiDexComponents UP-TO-DATE 
:app:createDebugMainDexClassList UP-TO-DATE 
:app:dexDebugExecuting 
tasks: [:app:assembleDebug] 

Parallel execution with configuration on demand is an incubating 
feature. 
:app:preBuild UP-TO-DATE 
:app:preDebugBuild UP-TO-DATE 
:app:checkDebugManifest 
:app:preReleaseBuild UP-TO-DATE 
:app:prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE 
:app:prepareComAndroidSupportCardviewV72301Library UP-TO-DATE 
:app:prepareComAndroidSupportDesign2301Library UP-TO-DATE 
:app:prepareComAndroidSupportMultidex101Library UP-TO-DATE 
:app:prepareComAndroidSupportPaletteV72301Library UP-TO-DATE 
:app:prepareComAndroidSupportRecyclerviewV72301Library UP-TO-DATE 
:app:prepareComAndroidSupportSupportV42301Library UP-TO-DATE 
:app:prepareComDigitsSdkAndroidDigits162Library UP-TO-DATE 
:app:prepareDebugDependencies 
:app:compileDebugAidl UP-TO-DATE 
:app:compileDebugRenderscript UP-TO-DATE 
:app:generateDebugBuildConfig UP-TO-DATE 
:app:generateDebugAssets UP-TO-DATE 
:app:mergeDebugAssets UP-TO-DATE 
:app:generateDebugResValues UP-TO-DATE 
:app:processDebugGoogleServices 
:app:generateDebugResources 
:app:mergeDebugResources UP-TO-DATE 
:app:processDebugManifest UP-TO-DATE 
:app:fabricGenerateResourcesDebug 
:app:processDebugResources 
:app:generateDebugSources 
:app:processDebugJavaRes UP-TO-DATE 
:app:compileDebugJavaWithJavac UP-TO-DATE 
:app:compileDebugNdk UP-TO-DATE 
:app:compileDebugSources UP-TO-DATE 
:app:collectDebugMultiDexComponents UP-TO-DATE 
:app:packageAllDebugClassesForMultiDex UP-TO-DATE 
:app:shrinkDebugMultiDexComponents UP-TO-DATE 
:app:createDebugMainDexClassList UP-TO-DATE 
:app:dexDebug AGPBI: 
{"kind":"simple","text":"UNEXPECTED TOP-LEVEL 
EXCEPTION:","sources":[{}]} AGPBI: 
{"kind":"simple","text":"java.lang.RuntimeException: Unexpected 
exception in dex writer thread","sources":[{}]} AGPBI: 
{"kind":"simple","text":"\tat 
com.android.dx.command.dexer.Main.runMultiDex(Main.java:397)","sources":[{}]} 
AGPBI: {"kind":"simple","text":"\tat 
com.android.dx.command.dexer.Main.run(Main.java:275)","sources":[{}]} 
AGPBI: {"kind":"simple","text":"\tat 
com.android.dx.command.dexer.Main.main(Main.java:245)","sources":[{}]} 
AGPBI: {"kind":"simple","text":"\tat 
com.android.dx.command.Main.main(Main.java:106)","sources":[{}]} 


FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: Execution failed for task ':app:dexDebug'. 
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 
'C:\Program Files\Java\jdk1.7.0_76\bin\java.exe'' finished with 
non-zero exit value 2 

* Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

BUILD FAILED 

Total time: 1 mins 5.426 secs 
+0

Hai provato in esecuzione con --info o --debug per ottenere più Informazioni? Se non altro, puoi provare a trovare e eseguire manualmente il comando esatto in cui gradle è in esecuzione, per vedere il suo output e perché non funziona. – JesusFreke

+0

Ciao, lo eseguirò più tardi oggi e tornerò da te - mi dispiace per la risposta lenta. – Simon

risposta

65

Dopo googling per un po ', ho trovato il problema era che non basta heap è stato assegnato allo scrittore dex.

ho riparato mettendo nel seguente nella mia app gradle.build:

android { 
    dexOptions { 
     incremental true 
     javaMaxHeapSize "4g" 
    } 
} 

Questa opzione è anche riuscito a velocizzare il mio accumulo Gradle in modo significativo.

Extremely long build with Gradle (Android Studio)

+19

Dettaglio: dexOptions {} deve essere inserito nel blocco di android {} in build.gradle. – tarkeshwar

+2

'incremental true' deprecato Ma' javaMaxHeapSize "4g" 'funziona alla grande! Grazie! –

+0

grazie mucchio uomo – Juanca

0

cambiare la vostra manifist a questo

defaultConfig 
{ 
    applicationId "com.example.simon" 
    minSdkVersion 14 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
    /*Enabling multidex*/ 
    multiDexEnabled true 
} 
android { 
    dexOptions { 
     incremental true 
     javaMaxHeapSize "4g" 
    } 
} 

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

e questo problema mostra quando si aggiunge il:

/*Enabling multidex*/ 
    multiDexEnabled true 

maggior parte delle volte. e per ulteriori informazioni si prega di dirmi la cosa esatta che non ha ancora undestand

3

L'aggiunta di questo ai miei gradle.properties livello di progetto ha aiutato -

org.gradle.jvmargs=-Xmx1536m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8