复制Android项目文件夹不是一个完整的备份?

时间:2011-07-07 16:46:26

标签: android eclipse workspace

几个星期前,我只是将整个文件夹(Windows 7)复制到网络共享中,拍摄了我的Android项目快照。

几周后,我想在(和不同的)工作区中构建该快照。所以我:

  1. 为此创建了一个空文件夹 工作空间中,
  2. 将Eclipse切换到它,
  3. 然后使用File > Import...进行复制 该快照到工作区。
  4. 然后我惊讶地发现项目中存在错误 - 在我将其复制到网络共享之前没有出现错误。

    第一个症状是只有项目中的最后一个文件有多个错误。我通过进入Eclipse(再次!)来“修复”Android的SDK位置:

    Windows > Preferences > Android > SDK Location: C:\android-sdk-windows

    这导致许多文件现在出现错误,在控制台上有以下提示:

    Android requires .class compatibility set to 5.0. Please fix project properties.

    我通过将鼠标悬停在@override并选择Change workspace compliance and JRE to 1.5气球建议来修复此问题。这很奇怪,因为我检查了Windows > Preferences > Java > Compiler > Compiler compliance level:并且它之前是1.6 - 1.6不包括1.5?

    然后我只剩下两个源自@Override的错误,这些错误不应该存在(对于实现接口的方法)。所以我删除了它们,现在一切都很好,项目构建和运行完全像以前一样。

    一切都很好,但是我很惊讶我实际上不得不在Eclipse中更改任何,更不用说我最终最终修改了原始源代码(删除{{1它只是为了让它构建 - 几周前没有任何抱怨的源代码!

    有什么可以解释这个?是不是将Android项目文件夹复制为真正的完整备份?

    被这个发现困惑,我使用我心爱的Emacs检查了工作区文件夹,发现有一个名为@override的隐藏子目录。这可能就是秘密所在。

    我现在的问题是:

    1. Eclipse是否存储了额外的内容 有关工作区的信息 别处?
    2. 制作什么是好方法 Android项目更独立, 如“完全备份”?
    3. 是否有任何用处 .metadata档案?我能安然吗 删除它?

2 个答案:

答案 0 :(得分:2)

导入项目时我也遇到了这些错误。如果我记得正确,请帮助右键单击项目名称并选择Android工具 - >修复项目属性......

之后错误消失了。

  

“Android需要.class兼容性   设置为5.0。请修复项目   “这是什么?就是这样   克隆后我收到的错误   存储库并尝试导入它   进入Eclipse。有合理的   关于这个的小信息,   关于邮件列表的夫妇讨论   但我想我会写一篇文章   解决方案。

     

将项目导入您的项目后   工作区,你收到了错误。   所以你接下来要做的就是   右键单击项目 - > Android的   工具 - >修复项目属性。现在   单凭这一点无法解决问题,你   之后需要重启Eclipse。   之后尝试构建项目   再次,它应该成功   这一次(除非你有错误   代码本身,我做了。)

答案 1 :(得分:2)

  1. 我发现Eclipse的元数据存储在您工作区的 ./ metadata 文件夹中。我不相信有任何额外的文件夹,但我会仔细检查。

  2. 如果您使用eclipse,备份Android项目的最佳方法是通过右键单击项目,选择导出并将其导出为存档,文件来导出它系统等等。你可以确定你已经以Eclipse知道如何处理它的方式备份了它。

  3. 为什么不先删除它,而不是删除它? 编辑:我还会看一下在命令终端中运行eclipse.exe -clean。这可能比手动删除.metadata文件夹更有用。