什么命令“修复项目属性”正好?

什么是“项目 – > Android的工具 – >修复项目属性”Eclipse命令exaclty做什么?

我已经阅读了很多次使用它,主要是在与Eclipse R的Android R代码相关的问题,但对我来说,它就像魔术,我按它,我想它修复了一些项目属性,但没有任何反应…没有视觉反馈,没有关于哪个项目属性已被修复的信息…任何人都可以对它究竟做什么有一些洞察力?

谢谢

Solutions Collecting From Web of "什么命令“修复项目属性”正好?"

通过查看ADT源代码,特别是FixProjectAction并阅读源代码和注释,我们可以看到它调用:

ProjectHelper.fixProject(project); ProjectHelper.fixProjectNatureOrder(project); AndroidNature.configureResourceManagerBuilder(project); AndroidNature.configurePreBuilder(project); AndroidNature.configureApkBuilder(project); 

ProjectHelper.fixProject(项目)会:

  • 创buildJava项目
  • 修复类path条目以确保:
    • 该项目不引用任何旧的android.zip/android.jar归档
    • 该项目不使用其输出文件夹作为源文件夹
    • 该项目不参考桌面JRE
    • 该项目引用了AndroidClasspathContainer。

ProjectHelper.fixProjectNatureOrder(项目)重新sorting项目性质,以便Android项目性质第一。

AndroidNature.configureResourceManagerBuilder(项目)添加ResourceManagerBuilder,如果它不在那里。 它会插入自己作为第一个build设者。

AndroidNature.configurePreBuilder(project)添加PreCompilerBuilder(如果它尚未存在)。 它会检查ResourceManager的存在,然后自行插入。

AndroidNature.configureApkBuilder(project)在最后添加.apk构build器,如果它尚未存在的话。

最后三个电话确保你有你的项目正确的build设者。 当你在eclipse项目属性中查看你的Builders部分时,你会看到:

  • 首先Android资源pipe理器
  • 资源pipe理器之后的Android预编译器
  • Android程序包生成器最后

在项目上运行“修复项目属性”的另一个结果是,在同一个工作空间中引用项目的任何其他项目作为Android库可能有在项目构buildpath下的“Android依赖项”下链接的jar。

这可能会导致对同一个jar文件的多个引用或缺lessjar文件引用。

解决方法是从相关项目中删除这些链接,删除“Android依赖项”并重新运行“修复项目属性”。