这个问题在这里已有答案:
申请插件: '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更多
- 在https://help.gradle.org获取更多帮助
2 回答
您需要的是在defaultConfig部分中将以下行添加到build.gradle文件中
添加行
在应用程序gradle的defaultconfig部分中 .
你的应用程序gradle应该是这样的: