2011-11-09 26 views
6

我升级到了Ubuntu 11.10,Eclipse 3.7.0,ADT 14.0.0。Eclipse Android不会清理,不会刷新资源

当我替换桌面上的/ res/drawable-nodpi目录中的图片资源或/ res/raw目录中的声音资源时,重新编译的程序和项目资源管理器都使用以前缓存的一些版本。

我尝试以下,其中没有工作:

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目录中。这个重新编译没有任何源代码的变化,并在设备上运行。

Clean和Refresh都不能正常工作是非常意想不到的行为。它为什么这样做?我究竟做错了什么?我如何设置Eclipse环境,以便在更改磁盘上的文件时使用当前的最新版本?或者至少让我刷新?谢谢。

+0

在命令行上使用emacs和android/ant ... – Renaud

+0

您是否尝试从设备上卸载? –

+0

Emacs我知道。蚂蚁我不工作。由于Eclipse是一个图形化的开发环境,我不理解在这种情况下“命令行”是指什么。谢谢。 – DragonLord

回答

1

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

Eclipse中的此选项位于General-> Workspace下的Preferences中,如here所示。

+1

在Mac OS上,首选项为“刷新访问”。 – Noel

0

在我的情况下,我导入了错误的'R',这样eclipse无法找到正确的图像文件。 尝试更改此:import android.R; => import com.example.myfirstapp.R;

1

在您的应用程序上寻找bin。可能有一个名为res/crunch的文件夹,因此搜索不刷新并手动刷新的drawable。