Android Studios RuntimeException: Unexpected exception in dex writer thread
Solution 1
After googling for a while, I found the problem was that not enough heap was allocated to the dex writer.
I fixed it by putting in the following in my app gradle.build:
android {
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
}
This option also managed to speed up my gradle build significantly.
Extremely long build with Gradle (Android Studio)
Solution 2
Adding this to my Project level gradle.properties helped -
org.gradle.jvmargs=-Xmx1536m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Solution 3
change your manifist to this
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'
}
and this problem shows when you add the :
/*Enabling multidex*/
multiDexEnabled true
most of the times. and for more information please tell me the exact thing you didnt undestand
Simon
I started as a really novice android developer. Like as in I just started reading a book. But I have learnt a lot now and what an experience it has been. Lately, I have already been really interested in using Zipline for Algorithmic Trading. So I started a blog on this topic, you can find it here: https://financialzipline.wordpress.com I have also developed a fully-fledged android app: https://play.google.com/store/apps/details?id=com.bekwaai&hl=en
Updated on June 14, 2022Comments
-
Simon about 2 years
I have been getting this strange error the whole of today - anyone know what is going wrong here?
As far as I know, I have been using the multidex library correctly (the below is from the app.gradle file):
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' }
My top level gradle file is very basic:
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() } }
Error:
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