Android Studio中的iml文件是什么?

时间:2015-06-09 15:55:06

标签: android intellij-idea android-studio

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

此外,大部分时间AS都会生成它们,因此我无法控制项目行为。如果我的团队在不同的IDE(如Eclipse和AS)中工作,是否可以设置我的项目以使其与IDE无关?

我不完全了解这个系统是如何工作的。

4 个答案:

答案 0 :(得分:144)

  

Android Studio项目中的iml文件是什么?

iml file上的Google搜索出现了:

  

IML是由IntelliJ IDEA创建的模块文件,IntelliJ IDEA是用于开发Java应用程序的IDE。它存储有关开发模块的信息,该模块可以是Java,插件,Android或Maven组件;保存模块路径,依赖关系和其他设置。

(来自this page

  

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

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

但是,Gradle不是IntelliJ IDEA的本机项目模型 - 它是独立的,保存在.iml文件和.idea/目录中的元数据中。在Android Studio中,这些内容主要是从Gradle构建脚本生成的,这就是为什么当您更改build.gradle等文件时,有时会提示您“将项目与Gradle文件同步”。这也是为什么你不打算在版本控制中放置.iml文件或.idea/,因为它们的内容将被重新生成。

  

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

在很大程度上,你不能。

欢迎您拥有一个使用Eclipse风格目录结构的Android项目(例如,项目根目录中的资源和清单)。您可以通过build.gradle教授Gradle如何查找该结构中的文件。但是,其他元数据(compileSdkVersion,依赖关系等)几乎不会轻易复制。

其他替代方案包括:

  • 将所有人转移到另一个构建系统,如Maven,它与Eclipse和Android Studio同等集成(或不同,取决于您的观点)

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

  • 让每个人都使用一个IDE

答案 1 :(得分:67)

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

答案 2 :(得分:6)

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

只需将*.iml添加到.gitignore

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

答案 3 :(得分:1)

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

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

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

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