不知道大家碰到过android studio 中图片相关的错误,我是将之前在eclipse上开发的项目移植到AS后发现一些错误,所以我把碰到的问题整理一下,做个总结。
1.图片格式更改过导致的无法正常编译
意思就是如果之前将一张jpg格式的图片 自己改为.png就会报错,因为as对图片要求很高,检测的严格。
大家可以看这篇文章http://blog.csdn.net/shaoyezhangliwei/article/details/78977897
最好的解决办法是将图片找出来删除掉。
还有一种网上最常见的解决方案
aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false
在build.gradle加入上面这两句,意思是 禁止gradle检查png图片的合法性。
android {
compileSdkVersion 19
buildToolsVersion "23.0.1"
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
defaultConfig {
minSdkVersion 10
targetSdkVersion 19
}
类似这样,加上能解决一部分问题。但是还有一些特殊的情况,即使加上上面这两句代码也没有用
2.拷贝demo 代码的时候 R文件错误导致出现这个问题。
类似这种,我们拷贝其他项目文件的时候有时候可能会忽略这个,没发现 ,编译的时候不会报错,运行报错,当然这个和图片没啥关系,顺便提一下。
3.还有就是 和.9图片相关的错误
类似这种的,都是.9图片本身有问题,导致的异常。
android studio里面本身集成了可以打开.9图片的编辑工具,不需要像eclipse那样去sdk下面去找draw9patch.bat了。
1. 如果一张图片不是.9图的话,图片的后缀名不要带有XX.9.png,这样在androidstudio上是非法,会报错。
2.如果一张图片是.9图,但如果这张图片不是完整的.9图,也就是说此图没有四个边的描点, Androidstudio仍然会报错。 报错内容如下:
Cannot Resolve Symbol R.(该错误下所有R会变红,当然所有R变红还有很多其他原因,比如xml、style、value、colors中存在错误都会出现该现象,而在Android Studio中是 不会提示具体那个文件夹的,需要自己检查)
AAPT err: ERROR:9-patch image xxxx(该错误并不会被编译器标红,这一点很不友好!)看到这一提示就证明是.9图片的问题了。
3.android studio 编辑.9图片界面选项
Patch scale: 用来缩放右边预览区域的大小
Show lock: 当鼠标在图片区域的时候显示不可编辑区域
Show patches: 在编辑区域显示图片拉伸的区域
Show content: 在预览区域显示图片的内容区域
Show bad patches: 在拉伸区域周围用红色边框显示可能会对拉伸后的图片产生变形的区域,如果完全消除该内容则图片拉伸后是没有变形的,也就是说,不管如何缩放图片显示都是良 好的,看到这一提示就证明是.9图片的问题了。
时间关系 ,暂时先写这些,希望对大家有帮助。如果大家还有其他问题,欢迎大家加入我的qq群讨论交流:
开发一群:454430053开发二群:537532956