Android Studio项目的.gitignore中应该包含什么内容?

Android Studio项目的.gitignore中应包含哪些文件?

我见过几个例子,都包括.iml,但IntelliJ文档说,.iml必须包含在你的源代码控制中。


已更新至Android Studio 3.0请在评论中分享缺失项目。

一个迟到的答案,但这里和这里的答案都没有对我们的钱是正确的... ...

所以,这里是我们的gitignore文件:

#built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Windows thumbnail db
Thumbs.db

# OSX files
.DS_Store

# Android Studio
*.iml
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/
.navigation
captures/
output.json 

#NDK
obj/
.externalNativeBuild

自从Android Studio 2.2和3.0以来,使用此gitignore文件创建新项目:

*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild

弃用 - 对于较旧的项目格式,请将此部分添加到您的gitignore文件中:


/*/out
/*/*/build
/*/*/production
*.iws
*.ipr
*~
*.swp

该文件应位于项目的根文件夹中,而不在项目的模块文件夹中。

编辑注释:

  • 从版本0.3+开始,您似乎可以提交并推送* .imlbuild.gradle文件。 如果您的项目基于Gradle:在新的打开/导入对话框中,您应该选中"use auto import"复选框并标记"use default gradle wrapper (recommended)"单选按钮。 所有路径现在都是@George建议的相对路径。

  • 根据@ 128KB附加源和@Skela建议更新答案


  • 基于我的普通Android.gitignore,在阅读Intellij IDEA网站上的文档并阅读StackOverflow上的文章后,我构建了以下文件:

    # built application files
    *.apk
    *.ap_
    
    # files for the dex VM
    *.dex
    
    # Java class files
    *.class
    
    # built native files (uncomment if you build your own)
    # *.o
    # *.so
    
    # generated files
    bin/
    gen/
    
    # Ignore gradle files
    .gradle/
    build/
    
    # Local configuration file (sdk path, etc)
    local.properties
    
    # Proguard folder generated by Eclipse
    proguard/
    
    # Eclipse Metadata
    .metadata/
    
    # Mac OS X clutter
    *.DS_Store
    
    # Windows clutter
    Thumbs.db
    
    # Intellij IDEA (see https://intellij-support.jetbrains.com/entries/23393067)
    .idea/workspace.xml
    .idea/tasks.xml
    .idea/datasources.xml
    .idea/dataSources.ids
    

    另外请注意,正如所指出的,当您使用Android NDK构建自己的本机代码时,构建的本机文件部分主要是有用的。 另一方面,如果您正在使用包含这些文件的第三方库,则可能希望从.gitignore中删除这些行(* .o和* .so)。


    更新7/2015:

    这里是JetBrains的权威来源


    基于目录的项目格式(.idea目录)

    此格式默认情况下会被所有最新的IDE版本使用。 以下是您需要分享的内容:

  • 项目根目录下的.idea目录下的所有文件, 除了存储用户特定设置的workspace.xmltasks.xml文件
  • 所有.iml模块文件可以位于不同的模块目录中(适用于IntelliJ IDEA)
  • 请注意分享以下内容:

  • 产生签名版本的Android工件(将包含密钥库密码)
  • 在IDEA 13和更早版本的dataSources.idsdatasources.xml可以包含数据库密码。 IDEA 14解决了这个问题。
  • 您可以考虑不要分享以下内容:

  • gradle.xml文件,请参阅此讨论
  • 用户字典文件夹(如果其他开发人员具有相同名称,则避免冲突)
  • .idea/libraries下的XML文件,以防从Gradle项目生成它们
  • 传统项目格式( .ipr / .iml / .iws文件)

  • 共享项目.ipr文件和所有.iml模块文件, 不要共享 .iws文件,因为它存储用户特定的设置
  • 虽然这些说明适用于IntelliJ IDEA,但它们对于Android Studio保持100%的真实性。


    这是一个.gitignore片段,它包含了所有上述规则:

    # Android Studio / IntelliJ IDEA 
    *.iws
    .idea/libraries
    .idea/tasks.xml
    .idea/vcs.xml
    .idea/workspace.xml
    
    链接地址: http://www.djcxy.com/p/44829.html

    上一篇: What should be in my .gitignore for an Android Studio project?

    下一篇: Ignore the .gitignore file itself