【发布时间】:2011-11-09 20:56:09
【问题描述】:
我升级到 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 Project Explorer 中的文件;恢复磁盘上文件的名称;然后将文件从桌面拖到 Project Explorer 中的 /res/drawable-nodpi 文件夹中。 Eclipse 返回一个弹出窗口,询问我是否要将文件复制或链接到 Eclipse。我选择了链接。这样总算把新版本的资源导入进来了。
更新:在使用这些图像的源代码在别处被修改后,它退出重新编译,说 R.drawable.mypicname 不再引用任何东西。因此,链接资源似乎并不可靠。最新的解决方法是手动复制桌面上的文件并将其粘贴到 Eclipse ProjEx /res/drawable-nodpi 目录中。这在没有任何源代码更改的情况下重新编译,并在设备上运行。
清理和刷新都不能正常工作是非常意外的行为。为什么要这样做?我究竟做错了什么?如何设置 Eclipse 环境,以便当我更改磁盘上的文件时,它使用当前的最新版本?或者至少允许我刷新?谢谢。
【问题讨论】:
-
在命令行上使用 emacs 和 android/ant...
-
您是否尝试从设备卸载?
-
Emacs 我知道。我不合作的蚂蚁。由于 Eclipse 是一个图形开发环境,我不理解在这种情况下“命令行”指的是什么。谢谢。
-
Android 会自动更新新版本,而无需从设备中删除以前的版本。当我在项目资源管理器中双击资源时,资源显示为旧的缓存版本,我相信缓存版本问题不在设备级别。谢谢。
-
只想指出正确的文件夹名称应该是/res/drawable-nodpi(用“d”而不是“a”)。如果您有错误的文件夹名称,Eclipse 将根本不会构建(“无效的资源目录名称”显示在 Windows 中的错误 > 显示视图 > 问题下)。
标签: android eclipse resources refresh