在Android开发中替换资源图片不起作用的解决方法

时间:2022-12-02 09:12:33

现象

在android开发中,经常会需要替换res\drawable中的图片,打开res\layout下的文件预览布局页面发现图片已经被替换,但在模拟器或者真实机器上运行时发现该图片并没有被替换,还是使用的是原来的资源图片。

原因

在开发过程中,由于使用模拟器测试了程序,在首次运行后会将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文件