203

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

此外,大多数时候 AS 会生成它们,因此我无法控制项目行为。如果我有一个在 Eclipse 和 AS 等不同 IDE 中工作的团队,是否可以设置我的项目使其与 IDE 无关?

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

4

4 回答 4

188

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

谷歌搜索iml file出现:

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

(从这个页面

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

您确实“使用 gradle 脚本与外部模块集成”,或者您自己的模块。

但是,Gradle 不是 IntelliJ IDEA 的原生项目模型——它是独立的,保存在.iml文件中,元数据保存在.idea/目录中。在 Android Studio 中,这些东西主要是由 Gradle 构建脚本生成的,这就是为什么当您更改文件(如build.gradle. 这也是您不必费心放置.iml文件或.idea/进行版本控制的原因,因为它们的内容将被重新生成。

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

在很大程度上,你不能。

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

其他替代方案包括:

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

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

  • 让每个人都使用一个 IDE

于 2015-06-09T16:17:42.253 回答
81

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

于 2015-06-09T16:04:54.167 回答
15

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

只需添加*.iml.gitignore.

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

于 2017-08-10T14:39:29.070 回答
2

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

您无需将这些文件签入到版本控制中。

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

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

于 2017-06-17T15:56:37.653 回答