Gradle throw app:mergedebugresources异常

Lee*_*Hoe 4 android android-studio android-gradle-plugin

这个项目以前来自intellij,现在作为Gradle android项目迁移到android studio.我希望稍后使用gradle添加google play服务依赖,我在其他地方找不到特定的jar ...以前这个项目运行正常使用ant,在android studio中导入为gradle后,我得到Gradle mergedebugresources异常.

我试图重建项目,用gradle文件同步项目,但是对我不起作用......我错过了什么?

希望有人指导我,我是Gradle和android工作室的新手.

执行任务:[:app:generateDebugSources,:app:mockableAndroidJar,:app:prepareDebugUnitTestDependencies,:app:generateDebugAndroidTestSources]

按需配置是一项孵化功能.增量java编译是一个孵化功能.:app:preBuild UP-TO-DATE:app:preDebugBuild UP-TO-DATE:app:checkDebugManifest:app:prepareDebugDependencies:app:compileDebugAidl UP-TO-DATE:app:compileDebugRenderscript UP-TO-DATE:app:generateDebugBuildConfig UP- TO-DATE:app:generateDebugResValues UP-TO-DATE:app:generateDebugResources UP-TO-DATE:app:mergeDebugResources错误:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException :: app: mergeDebugResources失败

FAILURE:构建因异常而失败.

  • 出了什么问题:任务执行失败':app:mergeDebugResources'.错误:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:

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

  • 例外情况是:org.gradle.api.tasks.TaskExecutionException:任务':app:mergeDebugResources'的执行失败.在org.gradle上的org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)位于org.gradle.api.internal的org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)上的.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)位于org.gradle.api.internal.tasks.execution的org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52).tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) .skipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecu org.gradle.execution.taskgraph.DefaultTaskGraphExecuter上的ter.execute(ExecuteAtMostOnceTaskExecuter.java:43)org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.exe(EventTaskTraphExecuter.java) 185)在org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)在org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)在org.gradle.execution .taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)at at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)at org.gradle.execution.DefaultBuildExecuter.access $ 000(DefaultBuildExecuter.jav)a:23)org.gradle.execution.DefaultBuildExecuter $ 1.proceed(DefaultBuildExecuter.java:43)org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)at org.gradle.execution.DefaultBuildExecuter.execute( DefaultBuildExecuter.java:37)org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)org.gradle.initialization.DefaultGradleLauncher $ 4.run(DefaultGradleLauncher.java:153)atg.gradle.internal.Factories $ 1 .或者org.gradle.internal.progress.DefaultOperationExecutor.run(DefaultBuildOperationExecutor.java:53)org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)中的.create(Factories.java:22). gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)org.gradle.initialization.DefaultGradleLauncher.access $ 200(DefaultGradleLauncher.java:32)org.gradle.initialization.DefaultGradleLauncher $ 1.create(DefaultGradleLauncher.java:98)在组织.gradle.initialization.DefaultGradleLauncher $ 1.create(DefaultGradleLauncher.java:92)org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java) :63)org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)at org.gradle.launcher.exec.InProcessBuildActionExecuter $ DefaultBuildController.在org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)的org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:46)中运行(InProcessBuildActionExecuter.java:99) org.gradle.todle.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:58)org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)atg.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)at org.gradle.launcher.exec.ContinuousBuildActionExecuter org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)在org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java )org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)at org. gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)位于org.gradle.launcher的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120). daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecation Logger.java:26)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)at 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)在在org.gradle.launcher.daemon.server的org.gradle.util.Swapper.swap(Swapper.java:38)的org.gradle.launcher.daemon.server.exec.ForwardClientInput $ 2.call(ForwardClientInput.java:72)位于org.gradle.launcher.daemon.server.health.DaemonHealthTracker的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)上的.exec.ForwardClientInput.execute(ForwardClientInput.java:72) org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)上的.execute(DaemonHealthTracker.java:47)org org.gradle.launcher上的org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)中的.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60) org.gradle.launcher.daemon.server上的org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)中的.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)位于org.gradle.launcher.daemon.server.health.HintGCAfterBuild的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)上的.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) .execute(HintGCAfterBuild.java:41)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy $ 1.run( StartBuildOrRespondWithBusy.java:50)atg.gradle.launcher.daemon.server.DaemonStateCoordinator $ 1.run(DaemonStateCoordinator.java:237)at o rg.gradle.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)at org.gradle.internal.concurrent.StoppableExecutorImpl $ 1.run(StoppableExecutorImpl.java:40)引起:com.android.build.gradle .tasks.ResourceException:错误:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:at com.android.build.gradle.tasks.MergeResources.doFullTask​​Action(MergeResources.java:161)at com org.gradle.api.internal.project上的org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)中的.android.build.gradle.internal.tasks.IncrementalTask​​.taskAction(IncrementalTask​​.java:88) org.gradle.api.internal.project上的org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)中的.taskfactory.AnnotationProcessingTaskFactory $ IncrementalTask​​Action.doExecute(AnnotationProcessingTaskFactory.java:245) .taskfactory.AnnotationProcessingTaskFactory $ IncrementalT askAction.execute(AnnotationProcessingTaskFactory.java:232)atg.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter. executeAction(ExecuteActionsTaskExecuter.java:80)at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)... 70更多引起:错误:java.util.concurrent.ExecutionException:com .android.ide.common.process.ProcessException:at com.android.ide.common.res2.MergedResourceWriter.end(MergedResourceWriter.java:268)at com.android.ide.common.res2.DataMerger.mergeData(DataMerger.java) :301)at com.android.ide.common.res2.ResourceMerger.mergeData(ResourceMerger.java:410)at com.android.build.gradle.tasks.MergeResources.doFullTask​​Action(MergeResources.java:154)... 78更多引起:java.util.concurrent.ExecutionException:java.util.concurrent.ExecutionExcep :com.android.ide.common.process.ProcessException:at com.google.common.util.concurrent.AbstractFuture $ Sync.getValue(AbstractFuture.java:299)at com.google.common.util.concurrent.AbstractFuture $ com.android.ide.common.res2.MergedResourceWriter.end上的com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)中的Sync.get(AbstractFuture.java:286)(MergedResourceWriter.java: 264)... 81更多引起:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:at com.google.common.util.concurrent.AbstractFuture $ Sync.getValue(AbstractFuture.java) :299)com.com的com.google.common.util.concurrent.AbstractFuture $ Sync.get(AbstractFuture.java:286)com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116). android.builder.internal.aapt.v1.AaptV1.lambda $ compile $ 0(AaptV1.java:446)引起:com.android.ide.common.process.ProcessException:at com.android.builder.png.AaptProcess $ NotifierProcessOutput .out(AaptProcess.java:284)a com.android.utils.GrabProcessOutput $ 2.run(GrabProcessOutput.java:143)中的com com.android.builder.png.AaptProcess $ ProcessOutputFacade.out(AaptProcess.java:215)

建筑失败

总时间:2.273秒

我的项目文件结构如下:

一只忙碌的猫

感谢任何建议或指导.非常感谢.

Lee*_*Hoe 6

很抱歉更新我的回答.实际上发现的是9个具有错误格式的补丁图像,一个9补丁图像没有在最外面画出黑色的角线.我粗心的错误!真的使用photoshop不合适制作9补丁图像!以前的蚂蚁项目没有注意到这个问题.

现在使用Gradle进行适当的检查并抛出异常.但是,日志消息对调试真的没有用!