【问题标题】:Android Studio import project with gradle changes iml filesAndroid Studio 导入项目与 gradle 更改 iml 文件
【发布时间】:2013-08-27 06:07:47
【问题描述】:

我的 .gitignore 中有以下条目:

...
*.iml
.idea/
...

在我 git clone 一个新的 repo 之后(我的项目中没有任何 iml 或 .idea),我打开 Android Studio (v0.2.5),成功导入项目并编译没有问题。现在,如果我想编辑一些文件,IntelliJ 几乎到处都显示红色波浪状的东西,因为它找不到外部库。我意识到当重新生成iml文件时,外部库是这样添加的:

<orderEntry type="library" exported="" scope="TEST" name="guice-3.0-no_aop" level="project" />

仅供参考,用于添加外部库的 build.gradle 部分:

...
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}
...

所以现在,如果我打开项目结构弹出窗口并将范围从测试更改为编译,红色波浪消失,一切都恢复正常。

我想知道这是否是我做错了什么,还是一个错误?此外,关于处理 iml 文件的方式(版本与否),我找不到任何直接的答案。每个人似乎都有自己的方式。

谢谢!

【问题讨论】:

    标签: android git intellij-idea gradle android-studio


    【解决方案1】:

    IDEA 官方文档对此很清楚:

    共享项目根目录下.idea目录下的所有文件,除了 存储用户特定的 workspace.xml 和 tasks.xml 文件 设置,还共享所有 .iml 模块文件。

    来源:How to manage IntelliJ IDEA projects under Version Control Systems

    编辑:但是,共享 iml 文件似乎是错误的。最好的办法是使用类似的gitignore 文件并为每个开发人员在 AndroidStudio 中导入项目。

    【讨论】:

    • 这样,下次有人克隆树,并在AS中导入项目时,iml文件将被修改,并在git状态中显示为已更改/已删除。
    • 不应将 .iml 文件添加到 Android Studio / Gradle 项目中的 VCS。它们可以不断变化。 .gradle 文件足以让 Gradle 构建 .iml 文件并导入项目。
    • 我同意你的看法。 IDEA 官方文档不是很清楚。我已经添加了指向 github 的 android gitignore 文件的链接
    • 我会将 .idea/modules.xml 添加到忽略中,同时忽略 *.iml 文件。尝试使用现有项目,重命名项目所在的目录并打开 Android Studio。您将更改您的 iml 文件和添加的行 .idea/modules.xml
    【解决方案2】:

    从 Android Studio v0.2.7 开始,此问题已得到修复。

    【讨论】:

    • 我使用的是 1.5.1 版,但我仍然遇到这个问题。我没有上传任何 iml 文件,因为理解这些文件应该在导入项目时生成,但它们不是。每当我的朋友克隆我的项目时,他都会收到一个错误对话框,提示缺少两个 iml 文件。
    猜你喜欢
    • 2014-11-23
    • 2015-06-27
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多