Eclipse安卓无法清理、无法刷新资源。

6

我升级了Ubuntu 11.10,Eclipse 3.7.0和ADT 14.0.0。

当我在桌面上替换/res/drawable-nodpi目录中的图片资源或/res/raw目录中的声音资源时,重新编译的程序和Project Explorer都使用了之前缓存的版本。

我尝试了以下方法,但都没有起作用:

right-click on filename in project explorer:  Refresh
right-click on /drawable-nodpi dir in p.e.:   Refresh
right-click on /res dir in p.e.:              Refresh
right-click on Project in p.e.:               Refresh
Project -> Clean...
Project ->  check Build Automatically,  Run->Run

该程序可以正确重新编译新的源代码更改,但重用自己的缓存资源。这是在原本适用于Ubuntu 10的现有项目中发生的。
作为解决方法,我将磁盘上的文件重命名;在Eclipse项目浏览器中删除该文件;恢复文件在磁盘上的名称;然后将文件从桌面拖到项目浏览器中的/res/drawable-nodpi文件夹中。Eclipse弹出一个弹窗询问我是否要将该文件复制或链接到Eclipse中。我选择了“链接”。最终这使得导入新版本的资源成为可能。
更新:在使用这些图像的源代码在其他地方被修改后,它停止了重新编译,并显示R.drawable.mypicname不再指向任何内容。因此,关联资源似乎并不可靠。最新的解决方法是手动将桌面上的文件复制并粘贴到Eclipse ProjEx / res / drawable-nodpi目录中。这样就可以在不进行任何源代码更改的情况下重新编译并在设备上运行。
清除和刷新都不能正常工作是非常意外的行为。这是为什么?我做错了什么?如何设置Eclipse环境,以便在更改磁盘上的文件时使用当前最新版本?或者至少允许我刷新?谢谢。

使用emacs和android/ant在命令行上操作... - Renaud
你尝试从设备中卸载了吗? - Dan S
我知道Emacs。但我不用Ant。由于Eclipse是一个图形化的开发环境,所以我不理解在这种情况下“命令行”是什么意思。谢谢。 - DragonLord
Android可以自动更新新版本,无需从设备中删除先前的版本。当我在项目资源管理器中双击它时,由于显示为旧的缓存版本,因此我认为缓存版本问题不是在设备级别上。谢谢。 - DragonLord
只是想指出正确的文件夹名称应该是/res/drawable-nodpi(带有“d”而不是“a”)。如果您的文件夹名称不正确,Eclipse将无法构建(在Windows > Show View > Problems下显示“无效的资源目录名称”)。 - Joe
糟糕,StackOverflow的拼写已经被更正了。原本是正确的,不是问题,但是很好的发现。谢谢。 - DragonLord
3个回答

1

启用轻量级的“访问时刷新”功能,以使工作区与文件系统保持同步。

Eclipse中的此选项在首选项下的General->Workspace中,如此处所示。


1
在Mac OS上,首选项是“访问时刷新”。 - Noel

1
在您的应用程序中寻找“bin”。很可能有一个名为“res/crunch”的文件夹,因此手动搜索未刷新的可绘制对象并进行刷新。

0
在我的情况下,我导入了错误的“R”,因此eclipse找不到正确的图像文件。 尝试更改这个:import android.R; => import com.example.myfirstapp.R;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接