Android Studio中的。iml文件是什么?

Android Studio项目中的.iml文件是什么?我读到它是模块的配置文件。我不明白它是如何工作的,我不能只是使用gradle脚本与您添加到您的项目的外部模块集成。

而且,大多数时候是AS生成的,所以我不能控制项目行为。如果我有一个团队,在不同的IDE工作,如Eclipse和AS,它是否可能设置我的项目,使它是IDE不可知的?

我不太明白这个系统是怎么运作的。

175539 次浏览

.idea*.iml添加到.gitignore中,你不需要这些文件来成功导入和编译项目。

什么是iml文件在Android工作室项目?

iml file上进行谷歌搜索会出现:

IML是由IntelliJ IDEA创建的模块文件,IntelliJ IDEA是一种用于开发Java应用程序的IDE。它存储关于开发模块的信息,这些模块可能是Java、Plugin、Android或Maven组件;保存模块路径、依赖项和其他设置。

(从这个页面)

为什么不使用gradle脚本与您添加到项目中的外部模块集成呢?

你可以“使用gradle脚本与外部模块或自己的模块集成”。

然而,Gradle并不是IntelliJ IDEA的原生项目模型。它是分开的,保存在.iml文件中,元数据保存在.idea/目录中。在Android Studio中,这些东西主要是由Gradle构建脚本生成的,这就是为什么当你更改build.gradle这样的文件时,有时会提示“将项目与Gradle文件同步”。这也是为什么你不麻烦把.iml文件或.idea/文件放在版本控制中,因为它们的内容会重新生成。

如果我有一个团队,在不同的IDE工作,如Eclipse和AS如何使项目IDE不可知?

在很大程度上,你不能。

欢迎您有一个使用eclipse风格目录结构的Android项目(例如,资源和清单在项目根目录中)。你可以通过build.gradle教Gradle如何在这个结构中找到文件。然而,其他元数据(compileSdkVersion, dependencies等)将不容易复制。

其他替代方案包括:

  • 将所有人转移到另一个构建系统,如Maven,它同样集成了Eclipse和Android Studio(取决于您的角度)

  • 希望Andmore很快就能起飞,这样也许你就可以有一个Eclipse IDE,可以从Gradle构建脚本构建Android项目

  • 每个人都使用一个IDE吗

这些文件由Android Studio编辑器创建和使用。

您不需要将这些文件检入版本控制。

Git使用包含文件和目录列表的.gitignore文件来了解不需要签入的文件和目录列表。

Android studio自动创建. gitingore文件,列出所有不需要检入任何版本控制的文件和目录。

它们是包含模块信息和元数据的项目文件。

只需将*.iml添加到.gitignore

在Android Studio:按CTRL + F9重建你的项目。缺少的*.iml文件将被生成。