首页 文章

Gradle throw app:mergedebugresources异常

提问于
浏览
3

这个项目以前来自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 FAILED 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) .api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)在org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)在org.gradle.api.internal .tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)在org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)在org.gradle.api.internal.tasks.execution .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.AbstractTaskPlanExecutor $ TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)在org.gradle.execution.taskgraph.AbstractTaskPlanExecutor $ 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)at atorg.gradle.initialization.DefaultGradleLauncher.access $ 200(DefaultGradleLauncher.java:32)org.gradle.initialization.DefaultGradleLauncher $ 1.create(DefaultGradleLauncher.java:98)at org.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)at org.gradle.initialization.DefaultGradleLauncher . 在org.gradle上的org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)中的orBu.Build.Aruncher.run(DefaultGradleLauncher.java:83)中的doBuild(DefaultGradleLauncher.java:92)$ DefaultBuildAtroller.run(InProcessBuildActionExecuter.java:99)位于org.gradle.tooling的org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)中的.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:46) .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)org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)atg.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)at org.gradle.launcher . exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)atg.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)org.gradle.launcher.daemon.server.exec.BuildCommandOnly . 执行(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的org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26) org.gradle.launcher.daemon.server上的org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)中的.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)位于org.gradle.launcher.daemon.server.exec的org.gradle.launcher.daemon.server.exec.ForwardClientInput $ 2.call(ForwardClientInput.java:74)上的.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) . orCl.gradle.launcher.daemon.server.exe中的orCl.gradle.util.Swapper.swap(Swapper.java:38)中的ForwardClientInput $ 2.call(ForwardClientInput.java:72)(ForwardClientInput.java:72) )org.gradle.launcher.d中的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) . aemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)位于org.gradle.launcher.daemon.server的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) . exec.LogToClient.doBuild(LogToClient.java:60)位于org.gradle.launcher.daemon.server.DermonCommandExecution的org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) . 继续(DaemonCommandExecution.java:120)org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)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.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)在org.gradle.launcher.daemo的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) n.server.exec.StartBuildOrRespondWithBusy $ 1.run(StartBuildOrRespondWithBusy.java:50)org.gradle.launcher.daemon.server.DaemonStateCoordinator $ 1.run(DaemonStateCoordinator.java:237)at org.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.doFullTaskAction(MergeResources.java:161)at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(在org.gradle.apdle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:245)的org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)中的IncrementalTask.java:88) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:232) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActio) nsTaskExecuter.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) )com.android.ide.common.res2.ResourceMerger.mergeData(ResourceMerger.java:410)com.android.build.gradle.tasks.MergeResources.doFullTaskAction(MergeResources.java:154)... 78更多由:java.util.concurrent.ExecutionException:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:at com.google.common.util.concurrent.AbstractFuture $ Sync.getValue(AbstractFuture.java: 299)在com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.j)的com.google.common.util.concurrent.AbstractFuture $ Sync.get(AbstractFuture.java:286) ava:116)at com.android.ide.common.res2.MergedResourceWriter.end(MergedResourceWriter.java:264)... 81更多引起:java.util.concurrent.ExecutionException:com.android.ide.common.process .ProcessException:在com.google.common.util.concurrent.AbstractFuture $ Sync.getValue(AbstractFuture.java:299)的com.google.common.util.concurrent.AbstractFuture $ Sync.get(AbstractFuture.java:286)at at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)at com.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)at com.android.builder.png.AaptProcess $ ProcessOutputFacade.out(AaptProcess.java :215)在com.android.utils.GrabProcessOutput $ 2.run(GrabProcessOutput.java:143)BUILD FAILED总时间:2.273秒

我的项目文件结构如下:

a busy cat

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

3 回答

  • 0

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

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

  • 6

    使用Android Studio 2.2.3也会遇到同样的问题 .

    但是在将项目导入CVS存储库后,我收到此错误 . 我尝试了一个新的空虚拟项目 .

    到目前为止我发现了什么

    • PNG文件默认被视为文本文件(0d,0a转换),并且在再次签出时是垃圾,尝试使用内部有一个PNG文件的新项目,所以永远不要导入带有现有PNG的新项目,在之后添加它们首先导入能够指定其类型 .

    • 在CVS导入后,\ build \ intermediates \ incremental \ mergeDebugResources中的merger.xml文件被删除 . 即使我将原始merger.xml复制到文件夹中,构建也不起作用 . 启动构建后,将再次删除merger.xml文件 .

    嘿,这里发生了什么,IDE版本2.2.3应该不存在这样的元素问题?

  • 0

    我的 GRADLE_HOMEpath 发生了同样的问题 contained non-English character ("ó"),默认情况下是用户主目录/ .gradle . 解决方案是改变Gradle 's Service directory path in Settings -> Build, Execution, Deployment -> Gradle so that it doesn' t包含非英语字符,像这样:

    Gradle setting that caused the problem

相关问题