错误:任务':ProjectName:mergeDebugResources'的执行失败。 > Crunching Cruncher *某些文件*失败,请参阅日志

时间:2015-03-13 06:18:50

标签: android android-studio android-gradle build.gradle

尝试制作项目模块时出现此错误

apply plugin: 'com.android.library'

android {
    compileSdkVersion 17
    buildToolsVersion "19.1.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 8
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile files('libs/sdk.jar')
    compile files('libs/ads-lib.jar')
    compile project(':google-play-services_lib')
    compile files('libs/hdvdecoderandroid.jar')
}

如何解决此错误?

修改

这是我的日志文件,当我尝试在命令行中构建它时

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':hDVietAndroid:m
ergeDebugResources'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAct
ions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(Ex
ecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.exe
cute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(Skip
UpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(Valida
tingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.exec
ute(SkipEmptySourceFilesTaskExecuter.java:42)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute
(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOn
lyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute
(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(Abstra
ctTask.java:305)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.ex
ecuteTask(AbstractTaskPlanExecutor.java:79)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.pr
ocessTask(AbstractTaskPlanExecutor.java:63)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.ru
n(AbstractTaskPlanExecutor.java:51)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPla
nExecutor.java:23)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGr
aphExecuter.java:88)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutio
nAction.java:29)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:6
2)
        at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.jav
a:23)
        at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java
:68)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionA
ction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:6
2)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:5
5)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLa
uncher.java:149)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher
.java:106)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.jav
a:86)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.
run(InProcessBuildActionExecuter.java:80)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildA
ctionExecuter.java:36)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildA
ctionExecuter.java:26)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)
        at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(
CommandLineActionFactory.java:237)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(
CommandLineActionFactory.java:210)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValida
tionAction.java:35)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValida
tionAction.java:24)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandL
ineActionFactory.java:206)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandL
ineActionFactory.java:169)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAc
tion.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAc
tion.java:22)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.jav
a:54)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
        at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:33)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:130)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: java.lang.RuntimeException: Crunching Cruncher vertbar.9.png failed, see logs

        at com.android.builder.png.QueuedCruncher.waitForAll(QueuedCruncher.java:178)
        at com.android.builder.png.QueuedCruncher.end(QueuedCruncher.java:190)
        at com.android.ide.common.res2.MergedResourceWriter.end(MergedResourceWriter.jav
a:128)
        at com.android.ide.common.res2.DataMerger.mergeData(DataMerger.java:291)
        at com.android.ide.common.res2.ResourceMerger.mergeData(ResourceMerger.java:48)
        at com.android.build.gradle.tasks.MergeResources.doFullTaskAction(MergeResources
.groovy:112)
        at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(Incrementa
lTask.groovy:70)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$I
ncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:235)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$S
tandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$I
ncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:222)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$S
tandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAct
ion(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAct
ions(ExecuteActionsTaskExecuter.java:61)
        ... 47 more

我尝试在stackoverflow中搜索,但我无法为我的案例找到正确的答案。

22 个答案:

答案 0 :(得分:36)

如上所述,here使用Gradle Tools v1.1.0时可能会发生这种情况。更新到v1.1.3之后,这种情况不再发生了。

答案 1 :(得分:31)

关闭android studio并再次打开它。然后尝试编译相同的代码。 我得到了同样的错误,它对我有用。 希望它有所帮助。

答案 2 :(得分:20)

可能因为伪造的png文件而发生。 您可以使用此命令检查假png。

test:
  one:
  - hello
  - goodbye
  - test
  two: {}

然后,使用ImageEditor(Ex,Pinta)打开假png并将它们重新保存到png。

祝你好运。

答案 3 :(得分:16)

好的,我刚遇到这个问题并尝试了上面提到的所有步骤但没有帮助。所以我做了什么,在将其重命名为.png之前,我检查了它的图像扩展名。就我而言,它是.jpeg。所以我将它重命名为.jpeg并将相同的原始文件保存在drawable中。宾果游戏,它运作良好。

所以解决方案是,使用文件而不更改扩展名,无论是.png还是.jpeg,保持原始方式。

想分享它是否有助于任何人。感谢。

答案 4 :(得分:11)

我在添加png文件之前遇到过这个问题。我发现了其中一些问题,因为清理项目并关闭AS并不能解决所有问题。

我在导出图片时进行了GIMP实验。显然,将它们转换为RGB可以修复它。某些照片将设置为索引模式。只需选择图像>模式> RGB。然后,导出它并将其复制到AS。

答案 5 :(得分:10)

我得到了同样的错误,它对我有用。希望它有所帮助。

  

正如Niklas所述,您必须更新到最新的Gradle版本

我解决错误的方法:

  1. 打开 Android Studio(AS)计划。
  2. 转到项目中的 build.gradle 文件。
  3. 变化:

    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
    

    为:

    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.3'
    
  4. 与Gradle同步您的Android项目: enter image description here

  5. 清理您的项目。

  6. 重建您的项目。
  7. 完成!
  8. 如果它仍无效:

    1. 关闭您的Android Studio计划,再次打开
    2. 尝试编译代码。
    3. 完成!
    4. 如果您需要更多帮助,请阅读Google Code上的问题!

答案 6 :(得分:6)

使用pngcheck并将我的所有图像文件重新保存到* .png后,问题仍然存在。

最后,我发现问题是关于* .9.png文件。打开并检查所有9-Patch文件,确保所有文件都有如下黑线,如果没有,只需单击白色位置并添加,然后保存。

9-Patch

答案 7 :(得分:6)

我也遇到过类似的错误。就我而言,它是我drawable文件夹中的一个图片文件。删除未使用的图片解决了我的问题。因此,请务必从drawable文件夹中删除所有未使用的项目。

答案 8 :(得分:4)

除了所有答案之外,我认为它可能有类似的问题。我的问题是由png.9文件引起的。如果这个文件有一个(在我的情况下)太小的拉伸区域只有几个像素,建筑也失败了这个错误。我检查了所有这些答案,但没有任何帮助。给予一个更大的拉伸区域,解决了问题。我测试了很多次,总之,当我使用小的拉伸区域时,它失败了。所以我相信,它会帮助一些人将拉伸区域变大一些。

第二个问题,但这只是一个假设,是图标名称(也许只适用于png.9文件)。例如,我使用了一个名为folder_icon.9.png的图像,这个图像总是失败了。将其重命名为other_folder_icon.9.png,它有效。所以我认为某些名称是由android系统本身使用的,也许这里也是一个问题。

答案 9 :(得分:4)

我遇到了同样的错误但我通过选择invalidate caches / restart选项解决了这个问题。

点击

  1. file>>使缓存/重启无效

答案 10 :(得分:3)

我来到这里是因为我遇到了这个问题而且这里没有答案帮助了我。 对于可以在这里得到帮助的未来用户:

我的问题是我为开关按钮做了两个9补丁图像。然后我重新调整了该图像,而没有对它们进行9次修补。 要解决这个问题,我必须对所有可绘制文件夹的所有图像进行9补丁(xxhdpi,xhdpi等)

答案 11 :(得分:3)

清理项目并重新构建

答案 12 :(得分:3)

有时,它可能是由xml或资源文件的错误命名引起的。

至少,对我来说,通过更改名称解决了这个问题。

答案 13 :(得分:2)

今天我也遇到了这个问题。以下是我解决它的方法:

  1. 我构建了应用程序,然后在消息窗口中看到了错误。他们说图片(完整路径)格式不正确。
  2. 然后我发现了名为$del = Prev_delivery::where('del_date', $date) ->where('status', "0") ->groupBy('cust_name') ->get(); return view('kitchen.kitchen',['del'=> $del]); 的格式错误的png。
  3. 我将其重命名为xxx.9.png并重建。没有错误,名称下带有红色波形的java文件也消失了。

答案 14 :(得分:2)

问题可能是由于程序员给出的扩展类型不匹配以及应用程序的drawable文件夹中存在的图像的实际扩展。或者按照以下步骤进行修复: -

步骤1-双击每个图像资源并检查扩展名,即图像是png还是jpeg还是任何其他格式。

步骤2-现在检查您是否在包浏览器的可绘制文件夹下拉列表中给出了相同的扩展名(Android Studio中的a.k.a Android)。

步骤3 - 如果扩展名不匹配,则删除该图像并在其位置粘贴另一个同名图像,确保扩展名与图像的实际扩展名匹配(例如,如果图像是“a” .png“然后确保你给出的图像的扩展名也是.png类型)。

步骤4 - 同步您的gradle文件并运行项目。这次应该没有错误。

答案 15 :(得分:1)

我已经尝试了上面提到的方法,重新启动AS对我来说不起作用,重建也没有用。 最后我发现问题出在.9.png文件中,我删除了它们并重建了项目,它运行正常! 试试吧。

答案 16 :(得分:1)

我遇到了同样的问题。

它是由损坏的文件引起的。如果您在收到此错误之前添加了一些新的Drawable,请检查它们是否在Android Studio Viewer中正确显示。

答案 17 :(得分:1)

如果您的9补丁文件无效,则可能会收到此错误。如果边框像素中除黑色和透明之外还有其他内容,则会出现此错误。解决此问题的最简单方法是在Android Studio中打开它并修改边框。只需添加和删除一个像素即可。

值得注意的是,您不会看到AS中的坏像素,因为编辑器会将任何非黑色的像素设置为透明,但您需要修改该文件以保存这些更改。< / p>

答案 18 :(得分:0)

我遇到了同样的问题,但看看这张图片,我确定你可以在这种情况下找到答案......问题出现在png文件中。当我修复android工作室问我的时候,它有效。我希望它也适用于U. click this photo... it shows where is the problem and what it is

答案 19 :(得分:0)

我也遇到了这个问题。但在我的情况下,我删除了.png文件夹,drawable应用中的所有clean and rebuild张图片,然后将所有.png张图片粘贴到我的drawable,再次重建。它对我来说很好。

答案 20 :(得分:0)

即使我有同样的问题,这个解决方案帮助了我,所以它可以帮助你

检查构建版本是否与compile sdk版本匹配,并在build.gradle的android块中添加以下代码

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

答案 21 :(得分:0)

这也可能是一些额外的原因,而不是上述原因:

  • 您的图像已崩溃:无法加载其中一张图片
  • 将图像添加到drawable文件夹并修改其类型(png,jpg),同时为其指定名称(或使用重命名功能在drawable文件夹内)