【问题标题】:Eclipse Android won't clean, won't refresh resourcesEclipse Android 不会清理,不会刷新资源
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

  • 在 Mac OS 上,首选项是“访问时刷新”。
【解决方案2】:

在您的应用程序中查找 bin。可能有一个名为 res/crunch 的文件夹,因此请搜索不刷新并手动刷新的可绘制对象。

【讨论】:

    【解决方案3】:

    就我而言,我导入了错误的“R”,因此 Eclipse 无法找到正确的图像文件。 尝试改变这个:import android.R; => 导入 com.example.myfirstapp.R;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 2013-10-08
      • 2017-03-08
      • 1970-01-01
      相关资源
      最近更新 更多