Some file crunching failed, see logs for details解决方案 以及.9patch点9图片的报错的详细修改方法

  引言: 在这里把学习使用AndroidStudio时遇到的一些问题及解决方案写出来,一是回头再遇到类似问题时可以有章可循,二是希望能帮到后来的朋友——不一定是100%适合你问题的,但希望能提供一些帮助和思路。


  报的错误是:Error:java.lang.RuntimeException: Some file crunching failed, see logs for details ?

  出现这个错误的原因是一般有以下几种情况:

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

  如果是这个问题导致的,可以在build.gradle文件里添加以下代码,然后点击右上角的sync now同步一下即可。

这个的意思是关掉AndroidStudio对PNG图片的合法性检验。

aaptOptions {

       cruncherEnabled = false

     useNewCruncher = false

}


  二、点9(.9)图片有问题也可能出现这个问题,原因是AndroidStudio对图片的审核非常严格,在ECLIPSE上没有问题, 到了AS上就通过不了。所以此问题多见于Eclipse项目导入AndroidStudio时。我出现这个问题就是因为.9图片导致的,并且我也是自己摸索出来的如何修改,网上好多说的不明不白的…………唉。

  另外有一点要注意一下,点9图片必须放在drawable文件夹下,不能放在mipmap文件夹下。

  如果是因为.9图片导致的,构建工程时在错误日志里可能会有相关的提示,告诉你可能出问题的.9图片的位置,此时你只要双击提示的文本,即可自动打开有问题的.9图片。在AndroidStudio中可以直接编辑点9图片,此是其强大的一个缩影而已。大概错误如下截图:

  还有一种关于.9图片的错误,就是

  Error:java.lang.RuntimeException: Crunching Cruncher bg_titlebar_shadow.9.png failed, see logs

  这个错误也是需要用到下文中的方法从新编辑修改下点9图片即可解决。

  有些网友直接说把.9图片名称里的“.9”去掉,这样确实是就不报错了,但是这样就违背了我们的初忠,因为使用.9图片本身是为了在有些网不同场景中图片可以自动拉伸调整大小。所以下面说一下.9图片的修改方法:

  1,打开后的点9图片如下

  首先我们要把图片下方的show bad patches勾选上,此时会看到图片出现报错的区域

  2. 说明一下:图片下方的show content如果勾选上,会看到右侧的小图中出现蓝色的区域,代表的是可以自动拉伸的部分。

  点9图片的四条边都必须有黑边,不能为空,哪怕只有一个小黑点儿。 此时我们把左边和上边的两条边分别向它们的中间收缩到只有一个点为止,然后就会发现报错的红线消失了。如下图:

调整边线的方法,以左侧的边为例:把鼠标放在黑边儿的最上边儿,会出现一条淡淡的黑线,然后用鼠标拖住,向下拉到图片的中间部位,会发现黑线变短了;再把鼠标放在黑边的最下边儿,出现淡淡的黑线后向上拉,拉到和上边儿只剩下一个像素点的时候即可。此时会发现一部分报错的红线已经消失了。图片上方的黑边儿操作方法相同。

如果发现你的点9图片太小或者极小,可以拖动图片下方的zoom放大图片,然后就可以精确操作了。如下图:

3. 报错的红线消失后,点9图片就已经修改完毕。

4. 另外不同的点9图片可能修改的方式略有不同。比如有些复杂的图片就需要综合考虑。举个栗子,修改完之后的图片如下:

初入博客,写的不太好,还望各位多多担待。因时间过去久了,如果有没有提到的问题和关键点,还望大家能帮忙指正,不胜感激。有问题欢迎留言讨论!

 







  

  • 24
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
当你在Android Studio中构建项目时,有时可能会遇到错误消息“Some file crunching failed, see logs for details”或类似的错误提示。这通常是由于资源文件(例如图像或XML文件)太大而导致的。解决此问题的方法如下: 1. 检查资源文件大小:如果你遇到这个错误,首先应该检查你的项目中是否存在过大的资源文件,例如图像或XML文件。如果是这种情况,你可以尝试将这些文件压缩或缩小,或者将它们分解成更小的文件。 2. 增加堆大小限制:在某些情况下,错误可能是由于JVM堆大小限制过小而导致的。你可以尝试增加堆大小限制,例如在你的项目的Gradle脚本中添加以下行: ```java android { ... dexOptions { javaMaxHeapSize "4g" } } ``` 这将增加JVM堆大小限制为4GB。根据你的项目需要,你可以将其设置为更高或更低的值。 3. 禁用文件压缩:如果你的资源文件已经被压缩,你可以尝试禁用文件压缩。你可以在你的项目的Gradle脚本中添加以下行: ```java android { ... aaptOptions { cruncherEnabled = false } } ``` 这将禁用aapt压缩器,从而避免在构建项目时出现crunching错误。 4. 清除缓存:如果上述方法都无法解决问题,你可以尝试清除Android Studio的缓存。在Android Studio的菜单栏中选择“File”>“Invalidate caches/Restart”,然后选择“Invalidate and Restart”选项。这将清除Android Studio的缓存,并重新启动Android Studio。 如果你仍然无法解决问题,请查看构建日志以获取更多信息,并尝试通过搜索类似的错误消息来找到解决方案
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值