Some file crunching failed, see

作者: Donkor | 来源:发表于2017-09-11 15:17 被阅读424次

    前言:
    前段时间,公司新项目开发完成。公司大佬仍了个eclipse的旧项目让我改。本着Android Studio开发更加快捷,方便的理念,大佬让我把项目转成studio的项目,方便日后维护更新。转完后发现出现下述问题。针对下述问题,总结可能出现的原因并给出解法方案。

    ▲ 异常log :

    Android Studio:Error:Execution failed for task ':app:mergeDebugResources'. > Some file crunching failed, see logs for details

    ▲ 问题分析一:
    在构建Gradle的时候,Gradle会去检查一下是否修改过文件的后缀名。一般大多数是出现在图片上,.jpg修改成了.png就会出现这个问题

    ▲ 解决方案
    如果是这个问题导致的,那就简单了,可以直接在build.gradle文件里添加以下代码,然后点击右上角的Sync Now同步一下即可,例如

    android {
    compileSdkVersion 23
    buildToolsVersion "26.0.0"
    
    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false
    
    defaultConfig {
    minSdkVersion 5
    targetSdkVersion 17
    }
    

    这两行代码意思是禁止gradle检查png的合法性

    ▲ 问题分析二:
    在Android Studio相比Eclipse中会对.9图进行严格检查,部分.9图片是非法的就会出现上述问题

    ▲ 解决方案一
    最简单,最冷暴力,最直接,最快捷的方法就是,将非法点9图的格式图片后缀修改成.png的格式(视实际情况使用)

    ▲ 解决方案二
    上述的解决方法虽然可行,但是却违背了最初我们使用点9图的初衷。最好我们使用SDK/tools目录下的“draw9patch.bat”文件进行编辑,或者直接使用Android Studio的编辑器,将不合法的点9图修正即可。图形界面和编辑功能是一样的,以Android Studio为例,解决步奏如下

    工程里直接打开报错的点9图,将下方工具栏的show bad patches选项和show content选项勾上。会看到如下图片

    show bad patches表示查看图片中报错的区域,show content表示查看自动拉伸的那一部分。

    <font size=3>根据点9图的绘制和制作方法,我们知道,四个边至少需要保留一个小黑点即可。以左侧和上侧为例,将其拉伸至一个小黑点,直至看不到报错的红线区域,保留下侧和右侧的拉伸区域,即图片修改完成。

    如果发现点9图太大还是太小,可以拖动工具栏中“ZOOM”来调整大小,精确操作。

    如果想精确查看点9图的变化拉伸区域,可以拖动“Patch scale”进行查看。

    当然复杂的点9图片根据实际情况再做调整修改,这里不再展示,方法同理。

    ▲ 注意:
    我们常常习惯于将图片文件存储在mipmap的文件夹下,而点9图不同,它是需要存放在drawable文件夹下

    相关文章

      网友评论

        本文标题: Some file crunching failed, see

        本文链接:https://www.haomeiwen.com/subject/fllfsxtx.html