Android Studio项目中的iml文件是什么?我读到它是模块的配置文件。我不明白它是如何工作的,我不能只使用gradle脚本来集成你添加到项目中的外部模块。
此外,大部分时间AS都会生成它们,因此我无法控制项目行为。如果我的团队在不同的IDE(如Eclipse和AS)中工作,是否可以设置我的项目以使其与IDE无关?
我不完全了解这个系统是如何工作的。
答案 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文件,列出所有不需要签入任何版本控制的文件和目录。