首页 文章

无法合并dex Android Studio 3.0.1错误[重复]

提问于
浏览
2

这个问题在这里已有答案:

申请插件: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"
    defaultConfig {
        applicationId "com.example.wildlife"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        resConfigs "auto"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
    }
    dataBinding {
        enabled = true
    }
}

dependencies {
   // implementation 'com.android.support:support-v4:26.0.2'

    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support:design:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta1'
    //for notification
    implementation 'com.google.firebase:firebase-messaging:11.6.0'
    implementation 'com.google.firebase:firebase-auth:11.6.0'
    //for storage
    implementation 'com.google.firebase:firebase-database:11.6.0'
    implementation 'com.android.support:customtabs:26.0.2'
    //to create ui of google auth
    implementation 'com.firebaseui:firebase-ui-auth:3.1.0'
    implementation 'com.google.android.gms:play-services-auth:11.6.0'
    implementation 'com.google.android.gms:play-services:11.6.0'
    implementation 'com.android.support:cardview-v7:26.0.2'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.wdullaer:materialdatetimepicker:1.5.2'
    implementation 'com.github.clans:fab:1.6.4'
}
apply plugin: 'com.google.gms.google-services'

堆栈跟踪错误

FAILURE:构建因异常而失败 .

  • 出了什么问题:任务执行失败 ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

java.lang.RuntimeException:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法合并dex

  • 尝试:使用--info或--debug选项运行以获取更多日志输出 .

  • 例外是:

org.gradle.api.tasks.TaskExecutionException:任务':app:transformDexArchiveWithExternalLibsDexMergerForDebug'的执行失败 . 在org.gradle上的org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)位于org.gradle.api.internal的org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)上的.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)位于org.gradle.api.internal.tasks.execution的org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88).tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) org.gradle.api.internal.tasks中的org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)中的.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)在org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter的org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)的.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) .execute(CatchExceptionTaskExecuter.java:34)org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker $ 1.run(DefaultTaskGraphExecuter.java:248)org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java: 336)org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)org.gradle.internal.progress .DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWo rker.execute(DefaultTaskGraphExecuter.java:241)org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java: 124)atg.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.access $ 200(DefaultTaskPlanExecutor.java:80)org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute(DefaultTaskPlanExecutor.java:105)atg.gradle .execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute(DefaultTaskPlanExecutor.java:99)org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask( DefaultTaskExecutionPlan.java:580)org.gradle.exe上的org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)在org.gradle.execution.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:128)org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37 org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)atg.gradle.execution.DefaultBuildExecuter.access $ 000(DefaultBuildExecuter.java:23)at org.gradle.execution.DefaultBuildExecuter $ 1.proceed(DefaultBuildExecuter.java) :43)org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:46)org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter . java:30)atOrg.gradle.initialization.DefaultGradleLauncher $ ExecuteTasks.run(DefaultGradleLauncher.java:311)org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)at org.gradle.internal.progress.DefaultBuildOperationExecutor $在org.gradle.internal.progress.DefaultBupeOperationExecutor.exe的RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)org .gradle.initialization.DefaultGradleLauncher.runTasks(DefaultGradleLauncher.java:202)atg.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:132)atg.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:107)at at org.gradle.internal.invocation.GradleBuildController $ 1.call(GradleBuildController.java:78)at org.gradle.internal.invocat org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)中的org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)上的ion.GradleBuildController $ 1.call(GradleBuildController.java:75) )org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75)在org.gradle.launcher的org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:53) . exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)位于org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java: 32)org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner $ 1.run(RunAsBuildOperationBuildActionRunner.java:43)org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.ja :org.gradle.internal org.gradle.internal.progress . .progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java) :51)org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:45)org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:29)at org.gradle.launcher.exec . org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute中的BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)(BuildTreeScopeBuildA ctionExecuter.java:25)org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:71)org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)at org org.gradle.tooling.internal.provider上的org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32)中的.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:51) .gradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java) :43)在org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigu) rationBuildActionExecuter.java:29)org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64)atg.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:29)at org .gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)atorg.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:42)位于org.gradle.tooling.internal的org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:58) . provider.etupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:33)位于org.gradle.launcher.doeher.server.exe.BuildCommandOnly的org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67) . 执行(BuildCommandOnly.java:36)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection . java:37)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)在org.gradle.launcher.daemon.server.api.DaemonComma ndExecution.proceed(DaemonCommandExecution.java:120)org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( daemonCommandExecution.java:120)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)org.gradle.util.Swapper.swap(Swapper.java:38)atg.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)atg.gradle.launcher org.gradle.launcher.daemon.server上的org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)中的.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) .api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:6 2)org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)at org org.gradle.launcher上的org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)中的.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)位于org.gradle.launcher.daemon的org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy $ 1.run(StartBuildOrRespondWithBusy.java:50)上的.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) . server.DaemonStateCoordinator $ 1.run(DaemonStateCoordinator.java:297)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(Threa dFactoryImpl.java:55)引起:java.lang.RuntimeException:java.lang.RuntimeException:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法在com.android.builder.dexing中合并dex . com.android.builder.dexing.DxDexArchiveMerger.mergeDexArchives上的com.android.builder.dexing.DxDexArchiveMerger.mergeMonoDex(DxDexArchiveMerger.java:177)中的DxDexArchiveMerger $$ Lambda $ 567 / 915553015.accept(未知来源)(DxDexArchiveMerger.java:118 )com的com.android.build.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:97)com的com.android.build.gradle.internal.transforms.ExternalLibsMergerTransform.transform(ExternalLibsMergerTransform.kt:121) . android.build.gradle.internal.pipeline.TransformTask $ 2.call(TransformTask.java:222)位于com.android的com.android.build.gradle.internal.pipeline.TransformTask $ 2.call(TransformTask.java:218) . com.android.build.gradle.int上的builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)在org.gradle.apdle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ IncrementalTaskAction的org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)中的ernal.pipeline.TransformTask.transform(TransformTask.java:213) . doExecute(DefaultTaskClassInfoStore.java:173)在org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)at atorg.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)维持在组织org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter $ 1.run(ExecuteActionsTaskExecuter.java:122) .gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)atg.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)org.gradle.internal.progress.DefaultBuildOperationExecutor .execute(DefaultBuildOperationExecutor.java:197)org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111 )org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)... 102更多原因d . 通过:了java.lang.RuntimeException:了java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法在com.android.builder.dexing.DxDexArchiveMerger.lambda $ mergeMonoDex $ 0到合并DEX(DxDexArchiveMerger.java:171 )在com.android.builder.dexing.DxDexArchiveMerger $$ LAMBDA $ 566 / 781733186.call(来源不明)产生的原因:了java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:COM:无法合并DEX所致.android.builder.dexing.DexArchiveMergerException:无法在com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:72)在com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36合并DEX )引起的:com.android.dex.DexIndexOverflowException:方法ID未在[0,为0xFFFF]:65536在com.android.dx.merge.DexMerger $ 8.updateIndex(DexMerger.java:565)在com.android.dx . merge.DexMerger $ IdMerger.mergeSorted(DexMerger.java:276)at com.android.dx.merge.DexMerger.mergeMethodIds(DexM) erger.java:574)在com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:166)在com.android.dx.merge.DexMerger.merge(DexMerger.java:198)在com.android.builder .dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)... 1更多

2 回答

  • 2

    您需要的是在defaultConfig部分中将以下行添加到build.gradle文件中

    multiDexEnabled true
    
  • 6

    添加行

    multiDexEnabled true
    

    在应用程序gradle的defaultconfig部分中 .

    你的应用程序gradle应该是这样的:

    defaultConfig {
                applicationId "parking.automated_parking.com.parkingsystem"
                minSdkVersion 19
                targetSdkVersion 26
                versionCode 1
                versionName "1.0"
                multiDexEnabled true // ADD THIS LINE
    
                resConfigs "auto"
                testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            }
    

相关问题