在2台计算机上使用Android Studio进行开发 - 而app.iml始终会更改

Ale*_*ber 5 git android android-studio

我在2台计算机上开发了一个Android应用程序(使用git进行同步) - Windows 7和Mac OS Yosemite.

由于某种原因,我打开项目时总是更改文件app.iml:

差异截图

按字母顺序对build.gradle中的依赖项进行排序没有帮助:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:design:23.0.1'
    compile 'com.android.support:recyclerview-v7:23.0.1'
    compile 'com.android.support:support-v4:23.0.1'
    compile 'com.facebook.android:facebook-android-sdk:4.1.0'
    compile 'com.google.android.gms:play-services-gcm:7.8.0'
    compile 'com.google.android.gms:play-services-plus:7.8.0'
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.vk:androidsdk:1.5.10'
    compile 'de.hdodenhof:circleimageview:1.3.0'
}
Run Code Online (Sandbox Code Playgroud)

可以在这做任何事吗?这样我就不会被迫一次又一次地提交更改的文件?

我正在使用.gitignore for Android推荐的GitHub.

Mak*_*oto 1

将其添加到您的.gitignore文件中。然后,运行,git rm --cached app.iml以便从该点开始不再跟踪它。考虑到您使用 Gradle 作为依赖项,其他人的 Android Studio 本地安装应该能够使用它,而不是处理共享的app.iml.

虽然您可以将一些 JetBrains/IntelliJ/Android Studio 项目文件放入源代码管理中,但我的长期建议是不要这样做,因为这个原因:您将对那些不相关的文件进行大量更改实际的生产代码本身。

  • 是的,这肯定会有帮助 - 但是:1)GitHub 的 [.gitignore](https://github.com/github/gitignore/blob/master/Android.gitignore)似乎不推荐这个 2)目前当`app. iml` 受源代码控制 - 我可以在任何计算机上签出我的项目并立即在 Android Studio 中打开它 - 无需重新创建项目。所以我正在寻找根本原因 - 为什么 Android Studio 会重新排序该文件中的行以及如何阻止它这样做? (3认同)