天天看点

.idea文件夹一探究竟

前言

有一个契机促使我去研究这个文件夹,我有在ide里设置了gradle的usr home路径,这与系统默认的用户主目录不同。我使用的Android Studio版本为2020.3.1 北极狐版。我新建了一个项目,我发现使用的gradle-7.0.2-bin.zip,我使用gradlew -v查看Gradle的版本号确实是7.0.2,但是在.idea/gradle.xml内是这样的

<GradleProjectSettings>
        <option name="testRunner" value="GRADLE" />
        <option name="distributionType" value="DEFAULT_WRAPPED" />
        <option name="externalProjectPath" value="$PROJECT_DIR$" />
        <option name="gradleHome" value="$USER_HOME$/.gradle/wrapper/dists/gradle-6.5-all/2oz4ud9k3tuxjg84bbf55q0tn/gradle-6.5" />
        <option name="modules">
          <set>
            <option value="$PROJECT_DIR$" />
            <option value="$PROJECT_DIR$/app" />
          </set>
        </option>
        <option name="resolveModulePerSourceSet" value="false" />
      </GradleProjectSettings>
           

这使我很疑惑,为什么是gradle-6.5?清缓存之后还是这样。这让我对.idea文件以及IDE运行产生了兴趣,所以决定研究下。

IDE新建项目默认添加忽略的文件

/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
           
  • caches

    缓存
  • libraries

    此目录包含指示库的 jar 文件存储位置的文件。由于下载路径可能是特定于用户的,应该被忽略。
    .idea文件夹一探究竟
  • modules.xml

    此文件包含模块.iml文件的路径,应该被忽略。
  • workspace.xml

    该文件包含有关您在 Android Studio 上的工作区的信息,例如光标在您打开的文件上的最后一个位置,它是用户特定的信息,应该被忽略。
  • navEditor.xml

    此文件存储元素在导航编辑器中的位置。如果此信息与您的项目相关,则应保留此文件。
  • assetWizardSettings.xml

    该文件存储了 Android Studio 向导添加的最后一个图标。应该被忽略。比如你往res导入svg生成vector的操作。
    .idea文件夹一探究竟

建议不要添加忽略的项

  • codeStyles

    代码样式文件夹。
  • dictionaries

    字典文件夹。
  • inspectionProfiles

    此文件夹包含项目特定Lint规则。
  • misc.xml

    文件包含一些项目信息,比如java版本和项目类型
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/build/classes" />
  </component>
  <component name="ProjectType">
    <option name="id" value="Android" />
  </component>
</project>
           
  • vcs.xml

    此文件包含有关您在项目中使用的 VCS 的信息,以允许您使用 GUI 执行版本控制操作。

建议添加忽略的项

  • runConfigurations.xml

    该文件存储了您可以通过单击“编辑配置”添加的配置。
    .idea文件夹一探究竟
  • gradle.xml

    包含gradle 版本的本地路径,还包含模块的路径。
  • shelf

    看文件夹名字就懂了,里面常常存一些git操作记录。
  • deploymentTargetDropDown.xml

    调试设备的一些记录。

后话

应该还有很多文件没提到,暂时就这么多吧,以后碰到再补。

可以在此项目查看IDE源码学习gradle运作流程https://github.com/JetBrains/android,我现在使用的IDE版本是203.7717.56,也就是这个tag:idea/203.7717.56