关于Android Studio中点9图的编译错误问题

Android中的点9图想必大家都非常熟悉了,能够指定背景图片的缩放区域和文本内容的显示区域,常见如QQ聊天界面的背景气泡这种文本内容不固定并需要适配的应用场景。

这里也给大家准备了一张图,详细介绍了一下“Android设计中的.9.png”,大家可以点击放大查看:

以前在使用Eclipse时候很少会出现点9图的编译错误问题,但是在转向Android Studio的过程中,你可能会遇到。比如你将Eclipse项目转化为Android Studio项目,或者在自己的项目中引入点9图,然后Clean编译,结果在Messages控台中出现了如下错误提示:

Error:Execution failed for task ‘:app:mergeDebugResources‘.
> Some file crunching failed, see logs for details
  • 1
  • 2

crunching failed,根据错误信息,只能看出某些文件计算失败,如果不知道这里面的道道,还真找不到错误的根源。其实,这里就是点9图在Android Studio中的使用出现了问题。

Android Studio对点9图的规范要求十分严格,控制缩放区域和内容区域的四边黑线一条都不能少,如果缺少一条,就会出现上述错误。

Android Studio内嵌了SDK中的draw9Patch工具,可以直接打开点9图并编辑预览,只需要将引入的点9图四边黑线按要求补全,然后重新Clean一下,上述错误就不会出现了。

虽然在布局文件中,仍然会出现代码红色错误提示,但却不会影响正常编译运行。当然有强迫症的我对于这一点表示很纠结,如果大家有什么解决办法一定要留言告之,不胜感激。

补充一点,关于在Android Studio中点9图不规范的编译错误问题,网上也提供了另外一种解决方案,打开项目module目录下build.gradle文件,在buildToolsVersion语句下面添加如下两行代码:

aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
  • 1
  • 2

但是经过测试验证,除了错误信息提示变得更加清晰,并自动定位和打开错误图片之外,还是不能绕过编译这一关,仍然需要修改点9图片,补全点9图的四边黑线,不知大家有没有尝试过呢,欢迎交流讨论。

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/lenkevin/p/8267041.html

时间: 2024-08-29 16:37:24

关于Android Studio中点9图的编译错误问题的相关文章

使用Android Studio自带的NDK编译JNI

/********************************************************************************** * 使用Android Studio自带的NDK编译JNI * 说明: * 省得自己另外去下载NDK,编译JNI,麻烦. * * 2017-4-30 深圳 龙华民治樟坑村 曾剑锋 ****************************************************************************

Android studio百度地图demo出现230错误,key校验失败

转自daoxiaomianzi原文 Android studio 百度地图demo出现230错误,key校验失败 使用AndroidStudio导入Baidu地图的as版的demo,引入后,发现没有key,于是到http://lbsyun.baidu.com/apiconsole/key,创建应用,申请key,但是把sha1和报名都输入后,将key复制到manifest.xml里,部署到手机上,提示: 验证出错,错误码:230,请AndroidManifest.xml文件中检查 kye 设置.

如何用 Android Studio 导入开源项目以及常见错误的解决办法

声明:这篇文章完全来自这篇文章,感谢大神的相助.这篇文章纯粹是为了备份. 本篇以Github上最热门的MaterialDesign库,MaterialDesignLibrary来介绍怎样使用Android Sudio导入开源项目的,如果你和我一样刚刚从Eclipse转到AS,那本篇文章非常适合你. 如果不引入任何第三方库,不做自动化分渠道打包等操作,那可以在完全不了解Gradle的情况下进行Android项目的开发.但如果要想导入Github上的热门项目,必须首先熟悉Gradle. 1. Gra

Android Studio集成crashlytics后无法编译的问题

http://blog.csdn.net/zhuobattle/article/details/50555393 问题描述: 在用fabric集成后编译出现如下错误, Error:Cause: hostname in certificate didn't match: <maven.fabric.io> != <*.motili.com> OR <*.motili.com> OR <motili.com> build.gradle部分脚本(fabric插件自

Android Studio 点9 图

在eclipse上.9图能够正常使用,但是到了Androidstudio上就报错无法引用,提示找不到.9图的问题. 解决方案: Androidstudio对.9图进行了更严格的定义, 1. 如果一张图片不是.9图的话,图片的后缀名千万不要带有XXXX.9.png,这样在androidstudio上是非法,会报错. 2.如果一张图片是.9图,它还是会报错,此时注意这个.9的图片是否是个完整的.9图,也就是说是不是对此图进行了, 四个边的描点, 只有对四个边都进行了描点,这样Androidstudi

Android Studio导入eclipse工程(引用多个其它工程)

eclipse工程向android studio 迁移过程中需要到编译错误: eclipse工程的结构比较复杂,引用了其它的工程,在迁移的过程中遇到了错误. @ViewInject(R.id.edittext_bbs_send_title) private EditText edTitle; 错误提示如下: error: attribute value must be constant 原因:参考 https://github.com/excilys/androidannotations/wik

[Android Pro] 告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能

reference to : http://www.cnblogs.com/soaringEveryday/p/4991563.html 以往的Android开发有一个头疼的且拖慢速度的问题,就是你每改一行代码要想看到结果必须要编译运行到手机或者模拟器上,而且需要从头(可能是登录界面)一直点击到你修改的界面为止.开发一个完整的Android App你可能要经历无数个重复编译运行的过程,严重的拖慢了开发进度. 最近React Native for Android可谓是解决了这个问题,修改代码可以直

工(程师)欲善其事,必先利其(编译)器——《Android Studio实战——快速、高效地构建Android应用》

Android Studio 是改变Android开发方式的编译器,<Android Studio实战--快速.高效地构建Android应用>是一本教人如何改变Android开发方式的书. 这本书无微不至讲述了如何用Android Studio编写代码,除了理论介绍外还有备忘录实验和货币实验告诉读者Android Studio并不是一个有编译功能的记事本而是带有代码补全.代码生成和设计代码风格等功能的编译器. 一样东西过时了,自然会有新的替代它.除了Android Studio取代eclips

Android studio 编译失败Error:Could not read entry &amp;#39;:app:processDebugManifest&amp;#39; from cache taskArtifacts.b

Android studio 编译失败 Error:Could not read entry ':app:processDebugManifest' from cache taskArtifacts.bin 升级了Android studio 2.0 版本号后 编译之前的项目失败 出现了以下提示: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/