为什么Gradle将模块路径从相对变为绝对?

时间:2014-05-20 11:42:42

标签: intellij-idea gradle android-studio android-gradle

所以我刚刚检查了一个我的同事的Android项目,其中gradle.xml设置了modules部分,虽然使用了$MODULE_DIR$部分,但已经设置了gradle.xml。当我建立时,Gradle将这条路径改为绝对路径。为什么?如何让Gradle继续使用相对路径?或者.iml不应包含在源代码管理中?这些更改也反映在IntellIJ中的gradle.xml文件中,我认为这些文件是由Gradle根据<?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="GradleSettings"> <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> <option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="gradleHome" value="$USER_HOME$/.gradle/wrapper/dists/gradle-1.11-all" /> <option name="modules"> <set> <option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$/SubModule" /> </set> </option> </GradleProjectSettings> </option> </component> </project> 生成的。正确的吗?

之前:

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="GradleSettings">
    <option name="linkedExternalProjectsSettings">
      <GradleProjectSettings>
        <option name="distributionType" value="DEFAULT_WRAPPED" />
        <option name="externalProjectPath" value="$PROJECT_DIR$" />
        <option name="gradleHome" 
                value="$USER_HOME$/.gradle/wrapper/dists/gradle-1.11-all" />
        <option name="modules">
          <set>
            <option value="C:\coding\source\work\ProjectX" />
            <option value="C:\coding\source\work\ProjectX\SubModule" />
          </set>
        </option>
      </GradleProjectSettings>
    </option>
  </component>
</project>

{{1}}

1 个答案:

答案 0 :(得分:2)

IntelliJ错误跟踪器中存在一个相关错误:http://youtrack.jetbrains.com/issue/IDEA-122893#_ga=1.28638463.2110637748.1360838067

根据Release notes of AndroidStudio-0.5.8:来自jet-brain的修复程序现已包含在AndroidStudio中。

因此,您(和/或您的同事)可能需要更新到AndroidStudio-0.5.8

只是为了分享我的经验:我们从不提交.iml文件,也不提交SCM下的任何IDE特定文件,尤其是Android-Studio:从root build.gradle文件中简单导入就足以启动并运行AndroidStudio中的项目。