关于AS用点9图时遇到的错误的解决方法Error:Execution failed for task ':app:mergeDebugResources'

来源:互联网 发布:js this对象 编辑:程序博客网 时间:2024/05/22 16:43

  今天在做一个布局文件,需要用到点9图,编译时遇到了图下的问题,百度了答案,解决方法无非两个,但都讲得不太好,所以在这里直接总结。

这里写图片描述

    首先这个问题的出现,主要有几个原因

①直接在AS中将jpg图片改成png为后缀的图片;

9图不规范,AS中点9图必须四边全部描黑点,而这在eclipse中不需要。

    解决方法有两个:

①在build.gradle里添加以下两句:

aaptOptions.cruncherEnabled = false     aaptOptions.useNewCruncher = false

直接添加到buildToolsVersion的下方即可,如图:



    原理就是关闭Android Studio的PNG合法性检查,但用这个方法需要承担可能图片出错导致的程序崩溃的代价,而且笔者试了这种方法后还是报错,因此放弃。

②在AS中修改点9图

      报错的原因是点9图不符合AS规范,因此只需要在每张点9图四边都加上一个像素黑点即可(draw9patch可以画,但觉得数量较少没有必要)。下面说一下如何修改,首先你的图片格式要放在drawable目录下,图片的命名要以 .9.png结尾,如图:



        做完后,在AS中打开图片,直接双击图片就可以。然后在每张点9图的四边都用鼠标单击一下,会有一个黑点出现,全部点完后再运行就应该没问题了



运行效果如下:



0 0
原创粉丝点击