`

Android杂谈---关于drawable文件夹的错误

阅读更多

今天做一个东西的时候,用PS做了几个图片,但是更改了后缀,于是出现了错误:

 

错误描述:

一开始是eclipse上的项目处出现错误,但是找文件夹里却没有一点错误,但在控制带确输出了大量的如下的红色错误信息

[2011-05-26 12:44:51 - ImageViewTest] libpng error: Not a PNG file
[2011-05-26 12:44:51 - ImageViewTest] ERROR: Failure processing PNG image E:\lOVEAndroid\workspace\ImageViewTest\res\drawable\img01.png
[2011-05-26 12:44:51 - ImageViewTest] E:\lOVEAndroid\workspace\ImageViewTest\res\layout\main.xml:7: error: Error: No resource found that matches the given name (at 'src' with value
'@drawable/img01').
当时不知道怎么回事,找来找去就是找不到错误的原因,后来看了一下文件的错误,说是不是png文件,好吧,于是把里面的所有其他格式的图片都在eclipse里面改成了png,但是最终修改数量的增加,错误数量也不断的增加,后来问了一些大牛,又在网上查了一下,才知道,原来是更改文件后缀的问题,如果你是直接在eclipse里更改文件后缀,或者是在桌面上自己更改后缀,那么这个问题就出来了,但是如果你用画图工具,比如PS等把图片改成某一种格式,比如png,jpeg等,再放到drawable里,就不会出现错误

为了验证是不是这样,于是我做了个测试



 此时,这个文件名字的后缀是gif的,于是Refactor--Rename



 点击确定后,观察控制台,打印了如下的错误信息

[2011-05-26 12:44:51 - ImageViewTest] libpng error: Not a PNG file
[2011-05-26 12:44:51 - ImageViewTest] ERROR: Failure processing PNG image E:\lOVEAndroid\workspace\ImageViewTest\res\drawable\img01.png
[2011-05-26 12:44:51 - ImageViewTest] E:\lOVEAndroid\workspace\ImageViewTest\res\layout\main.xml:7: error: Error: No resource found that matches the given name (at 'src' with value
'@drawable/img01').

证明刚才的那个假设是正确的

那么会有人问,是不是只有在eclipse上更改图片后缀会出现这个问题呢,答案:不是

即使你在自己的桌面上更改一张图片的后缀,然后拷贝到drawable文件夹下,错误依然会出现

test.jpg可以正常使用,当你在桌面上更改其后缀为png以后,结果依然是那样

 

注意:我试验了几次,gif格式的文件没问题,就是png文件更改成其他格式的文件,或者其他格式的文件更改成png格式的文件会出现这个问题

 

解决办法就是用原来的文件名,或者如果自己更改文件出现了这个问题时候,就可能是这个原因

 

另外还有一个错误要提出来,就是drawable里文件的命名问题,目前只能是用用小写字母和数字命名图片文件

比如拷贝一个Moon.jpg文件到drawable文件夹后,就会出现如下的错误

[2011-05-26 13:11:13 - ImageViewTest] res\drawable\Moon.jpg: Invalid file name: must contain only [a-z0-9_.]
[2011-05-26 13:11:13 - ImageViewTest] E:\lOVEAndroid\workspace\ImageViewTest\res\layout\main.xml:7: error: Error: No resource found that matches the given name (at 'src' with value
'@drawable/img01').

这些问题,以后注意要注意

  • 大小: 3.9 KB
  • 大小: 6.8 KB
分享到:
评论
2 楼 sxd_0524 2011-08-18  
还有这一说啊。。
1 楼 Lagunarock 2011-05-26  
确实需要注意,这些小问题很麻烦的
还有一个,SD卡里的文件命名也和这个一样只能小写字母加数字

相关推荐

Global site tag (gtag.js) - Google Analytics