Answers:
Android Studio项目中的iml文件是什么?
出现Google搜索iml file
:
IML是由IntelliJ IDEA(用于开发Java应用程序的IDE)创建的模块文件。它存储有关开发模块的信息,该模块可以是Java,Plugin,Android或Maven组件。保存模块路径,依赖项和其他设置。
(从此页面)
为什么不使用gradle脚本与您添加到项目中的外部模块集成。
您可以“使用gradle脚本与外部模块集成”或您自己的模块。
但是,Gradle不是IntelliJ IDEA的本机项目模型,它是独立的,保存在.iml
文件中,而元数据保存在.idea/
目录中。在Android Studio中,这些内容大部分是由Gradle构建脚本生成的,这就是为什么当您更改文件时,有时会提示您“与Gradle文件同步项目”的原因build.gradle
。这也是为什么您不必费心放置.iml
文件或.idea/
进行版本控制的原因,因为它们的内容将被重新生成。
如果我有一个团队在像Eclipse和AS这样的不同IDE中工作,那么如何使项目IDE不可知?
在很大程度上,你做不到。
欢迎您使用Eclipse风格的目录结构(例如,资源和清单根目录中的清单)的Android项目。您可以通过教Gradle build.gradle
如何在该结构中查找文件。但是,其他元数据(compileSdkVersion
,依赖项等)将几乎不那么容易复制。
其他替代方案包括:
将所有人转移到另一个构建系统(例如Maven),该构建系统已同等集成(或不集成,取决于您的观点)到Eclipse和Android Studio
希望Andmore即将起飞,以便您可以使用Eclipse IDE来从Gradle构建脚本构建Android项目。
让每个人都使用一个IDE
.iml
在项目根目录中将有一个文件,.iml
在每个模块目录中(例如app/
),将有一个文件。您可以尝试使用工具> Android>用Gradle文件同步项目。否则,您可能需要重新导入项目。如果您在此方面还有其他问题,请询问新的堆栈溢出问题。
*.iml
文件和.idea/
目录,假设你分配/使用同步文件git
或相似。对于git
,只需确保在文件中引用了您不想同步的.gitignore
文件,如下面的@Pavel Synek所建议。你需要从资源库中,并重新生成删除/本地恢复他们,但是这只是mv
,git commit
和mv
。
将.idea
和添加*.iml
到.gitignore
,则不需要这些文件即可成功导入和编译项目。
.idea
总体上不应该忽略。它包含几个文件,例如皮棉规则和自定义词典,团队绝对希望将它们检入版本控制。