This is my app level gradle file:
apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion '27.0.0' useLibrary 'org.apache.http.legacy' defaultConfig { multiDexEnabled true applicationId 'com.example.test' minSdkVersion 16 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } productFlavors { } dexOptions { incremental true } } dependencies { compile 'com.google.android.gms:play-services:10.0.1' compile 'com.android.support:appcompat-v7:26.+' compile 'com.android.support:multidex:1.0.1' compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7' compile 'commons-io:commons-io:1.3.2' compile 'com.mcxiaoke.volley:library:1.0.19' compile 'com.facebook.stetho:stetho:1.5.0' compile 'com.github.PhilJay:MPAndroidChart:v3.0.2' }
The complete error I get when compiling the project is:
Error:Execution failed for task ‘:app:transformDexArchiveWithExternalLibsDexMergerForDebug’.
java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
The complete error is as follows:
Executing tasks: [:app:assembleDebug] AGPBI: {"kind":"warning","text":"The `android.dexOptions.incremental` property is deprecated and it has no effect on the build process.","sources":[{},{}]} Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead. :app:buildInfoDebugLoader :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:compileDebugAidl UP-TO-DATE :app:compileDebugRenderscript UP-TO-DATE :app:checkDebugManifest UP-TO-DATE :app:generateDebugBuildConfig UP-TO-DATE :app:prepareLintJar UP-TO-DATE :app:generateDebugResValues UP-TO-DATE :app:generateDebugResources UP-TO-DATE :app:mergeDebugResources UP-TO-DATE :app:createDebugCompatibleScreenManifests UP-TO-DATE :app:processDebugManifest UP-TO-DATE :app:splitsDiscoveryTaskDebug UP-TO-DATE :app:processDebugResources UP-TO-DATE :app:generateDebugSources :app:javaPreCompileDebug UP-TO-DATE :app:compileDebugJavaWithJavac UP-TO-DATE :app:mergeDebugShaders UP-TO-DATE :app:compileDebugShaders UP-TO-DATE :app:generateDebugAssets UP-TO-DATE :app:mergeDebugAssets UP-TO-DATE :app:packageInstantRunResourcesDebug UP-TO-DATE :app:checkManifestChangesDebug :app:extractTryWithResourcesSupportJarDebug UP-TO-DATE :app:transformClassesWithStackFramesFixerForDebug UP-TO-DATE :app:transformClassesWithDesugarForDebug UP-TO-DATE :app:transformClassesWithExtractJarsForDebug UP-TO-DATE :app:transformClassesWithInstantRunVerifierForDebug UP-TO-DATE :app:transformClassesWithDependencyCheckerForDebug UP-TO-DATE :app:compileDebugNdk NO-SOURCE :app:mergeDebugJniLibFolders UP-TO-DATE :app:transformNativeLibsWithMergeJniLibsForDebug UP-TO-DATE :app:processDebugJavaRes NO-SOURCE :app:transformResourcesWithMergeJavaResForDebug UP-TO-DATE :app:transformNativeLibsAndResourcesWithJavaResourcesVerifierForDebug UP-TO-DATE :app:transformClassesWithInstantRunForDebug UP-TO-DATE :app:transformClassesEnhancedWithInstantReloadDexForDebug UP-TO-DATE :app:incrementalDebugTasks UP-TO-DATE :app:preColdswapDebug :app:fastDeployDebugExtractor UP-TO-DATE :app:generateDebugInstantRunAppInfo UP-TO-DATE :app:transformClassesWithInstantRunSlicerForDebug UP-TO-DATE :app:transformClassesWithDexBuilderForDebug UP-TO-DATE :app:transformDexArchiveWithExternalLibsDexMergerForDebug FAILED :app:buildInfoGeneratorDebug FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. > java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. * Get more help at https://help.gradle.org BUILD FAILED in 2s 39 actionable tasks: 5 executed, 34 up-to-date
Advertisement
Answer
Enable Multidex through build.gradle
of your app module
multiDexEnabled true
Same as below –
android { compileSdkVersion 27 defaultConfig { applicationId "com.xx.xxx" minSdkVersion 15 targetSdkVersion 27 versionCode 1 versionName "1.0" multiDexEnabled true //Add this testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } }
Then follow below steps –
- From the
Build
menu -> press theClean Project
button. - When task completed, press the
Rebuild Project
button from theBuild
menu. - From menu
File -> Invalidate cashes / Restart
compile
is now deprecated so it’s better to use implementation
or api