1

Suddenly without making any change to my project, I receive the following error:

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

I have tried every single solution recommended the following posts:

  1. Post 1
  2. Post 2

None of them worked. I have also changed all "compile" commands in my project's build.gradle to "implementation". Didn't work as well.

Here is my app.gradle:

apply plugin: 'com.android.application'
android
    {
        compileSdkVersion 27
        buildToolsVersion '27.0.3'
        defaultConfig
                {
                    applicationId "com.parsdigit.helsa"
                    manifestPlaceholders = [onesignal_app_id               : "4af7b2c1-a1a8-4b4a-ade3-d65289b38267",
                                            // Project number pulled from dashboard, local value is ignored.
                                            onesignal_google_project_number: "REMOTE"]
                    minSdkVersion 21
                    targetSdkVersion 27
                    versionCode 1
                    versionName "1.0"
                    vectorDrawables.useSupportLibrary = true
                    multiDexEnabled true
                }
        buildTypes
                {
                    release
                            {
                                minifyEnabled true
                                shrinkResources true
                                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                            }
                }
        packagingOptions
                {
                    exclude 'META-INF/DEPENDENCIES'
                    exclude 'META-INF/LICENSE'
                    exclude 'META-INF/LICENSE.txt'
                    exclude 'META-INF/license.txt'
                    exclude 'META-INF/NOTICE'
                    exclude 'META-INF/NOTICE.txt'
                    exclude 'META-INF/notice.txt'
                    exclude 'META-INF/ASL2.0'
                }
        lintOptions
                {
                    checkReleaseBuilds false
                }
        dexOptions
                {
                    preDexLibraries = false
                    javaMaxHeapSize "4g"
                }
    }
    dependencies
    {
        implementation 'com.android.support.constraint:constraint-layout:1.0.2'
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile('com.squareup.okhttp3:okhttp:3.+')
        compile 'com.android.support:multidex:1.0.2'
        compile 'com.android.support:design:27.1.0'
        compile 'com.android.support:appcompat-v7:27.1.0'
        compile 'com.android.support:recyclerview-v7:27.1.0'
        compile 'com.google.android.gms:play-services:11.8.0'
        compile 'com.google.android.gms:play-services-location:11.8.0'
        compile 'com.google.firebase:firebase-core:11.8.0'
        compile 'com.onesignal:OneSignal:[3.7.1, 3.99.99]'
        compile 'org.apache.httpcomponents:httpclient:4.5.4'
        compile 'com.google.maps.android:android-maps-utils:0.4.3'
        compile 'com.google.code.gson:gson:2.8.2'
        compile 'uk.co.chrisjenx:calligraphy:2.2.0'
        compile 'com.pixplicity.easyprefs:library:1.8.1@aar'
        compile 'gun0912.ted:tedpermission:1.0.3'
        compile 'com.kennyc:snackbar:2.5'
        compile 'me.itangqi.waveloadingview:library:0.3.5'
        compile 'com.daimajia.androidanimations:library:2.3@aar'
        compile 'com.fujiyuu75:sequent:0.2.1'
        compile 'com.akexorcist:RoundCornerProgressBar:2.0.3'
        compile 'pl.charmas.android:android-reactive-location:0.10@aar'
        compile 'io.reactivex:rxjava:1.2.0'
        compile 'me.zhanghai.android.materialratingbar:library:1.2.0'
        compile 'cn.lightsky.infiniteindicator:library:1.2.2'
        compile 'com.squareup.picasso:picasso:2.+'
        compile 'com.nineoldandroids:library:2.4.0'
        compile 'de.hdodenhof:circleimageview:2.2.0'
        compile 'com.github.wooplr:Spotlight:1.2.3'
        compile 'com.wang.avi:library:2.1.3'
        compile 'com.caverock:androidsvg:1.2.1'
        compile 'com.github.bumptech.glide:glide:3.8.0'
        compile project(':sidemenulibrary');
        compile('com.github.ozodrukh:CircularReveal:1.1.1@aar')
                {
                    transitive = true;
                }
        compile 'org.greenrobot:eventbus:3.0.0'
        compile 'com.nex3z:notification-badge:0.3.0'
        compile 'com.github.Shashank02051997:FancyGifDialog-Android:1.1'
        compile 'br.com.simplepass:loading-button-android:1.+'
        compile 'com.github.blennerSilva:AwesomeDialog:2.0.5'
        compile 'me.relex:circleindicator:1.2.2@aar'
        compile 'com.airbnb.android:lottie:2.2.5'
        compile 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.1.0'
        compile 'com.github.RobertApikyan:SegmentedControl:release_1.0.1'
        compile 'com.github.skydoves:powermenu:2.0.1'
        compile 'com.otaliastudios:cameraview:1.4.1'
        compile 'com.mindorks:placeholderview:0.7.2'
        compile 'com.google.code.gson:gson:2.7'
        compile 'com.github.Mostafa-MA-Saleh:EditCredit:1.5.0'
        compile 'com.github.mreram:ShowCaseView:1.0.5'
        compile 'com.mohamadamin:persianmaterialdatetimepicker:1.2.1'
        compile 'com.alirezaafkar:sundatepicker:2.0.8'
    }

apply plugin: 'com.google.gms.google-services'

Here is the gradle for a library I have in my project:

    apply plugin: 'com.android.library'
    group='com.yalantis:sidemenu'
android {
compileSdkVersion 27
buildToolsVersion '27.0.2'
defaultConfig {
    minSdkVersion 21
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    vectorDrawables.useSupportLibrary = true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

            dependencies
                compile 'com.android.support:appcompat-v7:27.0.2'
    task androidJavadocs(type: Javadoc) {
        source = android.sourceSets.main.java.sourceFiles
}
task androidJavadocsJar(type: Jar) {
    classifier = 'javadoc'
    //basename = artifact_id
    from androidJavadocs.destinationDir
}
task androidSourcesJar(type: Jar) {
    classifier = 'sources'
    //basename = artifact_id
    from android.sourceSets.main.java.sourceFiles
}
artifacts {
    //archives packageReleaseJar
    archives androidSourcesJar
    archives androidJavadocsJar
}

EDIT: (Since I cannot leave this as a comment I have to copy it here). After doing what @lelloman proposed in the comment, I got this error:

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\Helsa\android\app\build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':app'.
> java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0

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

* Exception is:
org.gradle.api.GradleScriptException: A problem occurred evaluating project ':app'.
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:92)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:187)
        at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:192)
        at org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationScriptPlugin.java:61)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
        at org.gradle.configuration.BuildOperationScriptPlugin.apply(BuildOperationScriptPlugin.java:58)
        at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:39)
        at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26)
        at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:63)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:33)
        at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:103)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:49)
        at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:651)
        at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:133)
        at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
        at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:62)
        at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38)
        at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(DefaultGradleLauncher.java:246)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
        at org.gradle.initialization.DefaultGradleLauncher.configureBuild(DefaultGradleLauncher.java:165)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:124)
        at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:107)
        at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:78)
        at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:75)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
        at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
        at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)
        at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:45)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:29)
        at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)        at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:71)
        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
        at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:51)
        at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32)
        at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
        at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
        at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
        at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
        at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64)
        at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:29)
        at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)
        at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:42)
        at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:58)
        at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:33)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
        at org.gradle.util.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199)
        at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
        at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
        at org.gradle.api.internal.plugins.DefaultPluginRegistry.uncheckedGet(DefaultPluginRegistry.java:149)
        at org.gradle.api.internal.plugins.DefaultPluginRegistry.lookup(DefaultPluginRegistry.java:144)
        at org.gradle.api.internal.plugins.DefaultPluginRegistry.lookup(DefaultPluginRegistry.java:127)
        at org.gradle.api.internal.plugins.DefaultPluginRegistry.lookup(DefaultPluginRegistry.java:121)
        at org.gradle.api.internal.plugins.DefaultPluginManager.apply(DefaultPluginManager.java:121)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyType(DefaultObjectConfigurationAction.java:113)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:36)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:80)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:136)
        at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:46)
        at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.java:34)
        at org.gradle.api.Script$apply$0.callCurrent(Unknown Source)
        at build_7tk3isvg0ht17m1ll3oykzmdx.run(C:\Helsa\android\app\build.gradle:1)
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:90)
        ... 93 more
Caused by: java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0
        at org.gradle.api.internal.plugins.DefaultPluginRegistry$1.load(DefaultPluginRegistry.java:71)
        at org.gradle.api.internal.plugins.DefaultPluginRegistry$1.load(DefaultPluginRegistry.java:51)
        at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
        at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
        at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
        ... 110 more

BUILD FAILED in 2m 11s

Fatima
  • 869
  • 10
  • 35
  • run `./gradlew app:assembleDebug --stacktrace` and post the error, with all those dependencies chances are that you are having multiple class definitions – lelloman Mar 25 '18 at 10:08
  • I copied this in Windows command prompt and get this error: '.' is not recognized as an internal or external command, operable program or batch file.@lelloman – Fatima Mar 25 '18 at 11:27
  • For future visitors: To do what @lelloman said, Open a command prompt in Windows, navigate ("cd") to your project's root folder (which contains the gradlew files) and type the command: gradlew app:assembledebug --stacktrace – Fatima Mar 25 '18 at 11:37
  • 1
    I guess on Windows you don't need `./` to execute, with that command you will see the stacktrace with the error message, if it's a duplicate entries, then run `gradlew app:dependencies` so that you can see which of your dependencies have conflicting transitive dependencies – lelloman Mar 25 '18 at 11:39
  • @lelloman : I edited my question and added the errors. Would you please check it? – Fatima Mar 25 '18 at 12:55
  • 1
    I just tried to compile with your dependencies and I'm getting a different error `Multiple dex files define Lcom/google/android/gms/internal/zzcgg;` – lelloman Mar 25 '18 at 13:09
  • I just found there are two libraries causing this: 1. 'com.mohamadamin:persianmaterialdatetimepicker:1.2.1' 2. implementation 'cn.lightsky.infiniteindicator:library:1.2.2' – Fatima Mar 26 '18 at 07:37
  • maybe you can take a look at [this](https://stackoverflow.com/a/49371375/1527232), it could solve also for you – lelloman Mar 26 '18 at 12:06

2 Answers2

0

Please follow these steps

  1. Clean project (build->clean project)
  2. Re-build project (build->re-build project)
Hasitha
  • 41
  • 1
  • 5
  • This has been offered in one of the answers in the mentioned posts. I tested and it didn't work. – Fatima Mar 25 '18 at 09:19
0

I faced same problem while compiling a gitHub repository . So, instead of adding compile 'blablabla:1.2.3' to build.gradle I copied the library / JAVA Code and paste them to my project . And then it made my project working again !

roy
  • 6,685
  • 3
  • 26
  • 39