现象
在android开发中,经常会需要替换resdrawable中的图片,打开reslayout下的文件预览布局页面发现图片已经被替换,但在模拟器或者真实机器上运行时发现该图片并没有被替换,还是使用的是原来的资源图片。
原因
在开发过程中,由于使用模拟器测试了程序,在首次运行后会将res文件夹下的图片资源文件(如drawable-hdpi、drawable-ldpi和drawable-mdpi)拷贝到bin文件夹下。在替换资源图片后,eclipse并不清楚是否有图片改变,所以会使用原来bin下的res文件夹中的资源文件进行打包,而图片用的还是第一次eclipse所拷贝进去的文件,所以当运行程序后会发现替换资源图片在程序中没起作用。
解决方法
既然已经明白是由于eclipse没有把最新的资源文件拷贝过去,所以我们只需要把项目bin目录下的res目录删除(可连同bin下生成的.apk、.dex和.ap_等三个文件一并删除),然后再将项目生成apk文件即可。
其它补充:
每次运行会将res文件夹拷到bin下,由于替换图片时,eclipse不清楚是否有图片改变,所以会使用原来bin下的res中的资源文件进行打包,所以图片仍为原来的
你只要到项目bin目录删除res目录即可(可连同bin下生成的apk,dex,ap_文件一并删除)
另外在bin下有一个classes应该就是相应java文件生成的class文件