¿Qué debería haber en mi .gitignore para un proyecto de Android Studio?

Resuelto respectTheCode asked hace 11 años • 32 respuestas

¿ Qué archivos deberían estar en mi .gitignoreproyecto de Android Studio?

He visto varios ejemplos que incluyen .iml, pero los documentos de IntelliJ dicen que .imldeben incluirse en su control de fuente.

respectTheCode avatar May 24 '13 21:05 respectTheCode
Aceptado

Actualizado a Android Studio 3.0 Comparta los elementos que faltan en los comentarios.

Una respuesta tardía pero esta respuesta alternativa no era la adecuada para nosotros...

Entonces, aquí está nuestro archivo gitignore:

#built application files
*.apk
*.ap_
*.aab
                           
# 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

Desde Android Studio 2.2 y hasta 3.0, los nuevos proyectos se crean con este archivo gitignore:

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

En desuso : para formatos de proyecto más antiguos, agregue esta sección a su archivo gitignore:


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

Este archivo debe estar ubicado en la carpeta raíz del proyecto y no dentro de la carpeta del módulo del proyecto.

Editar notas:

  1. Desde la versión 0.3+, parece que puedes confirmar y enviar archivos * .iml y build.gradle . Si su proyecto se basa en Gradle: en el nuevo cuadro de diálogo abrir/importar, debe marcar la "use auto import"casilla de verificación y marcar el "use default gradle wrapper (recommended)"botón de opción. Todas las rutas ahora son relativas como sugirió @George.

  2. Respuesta actualizada según la fuente adjunta de @128KB y las sugerencias de @Skela

Lior Iluz avatar Jul 23 '2013 07:07 Lior Iluz

Partiendo de mi .gitignore normal de Android , y después de leer la documentación en el sitio web de Intellij IDEA y leer las publicaciones en StackOverflow, construí el siguiente archivo:

# 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

También tenga en cuenta que, como se señaló, la sección de archivos nativos creados es principalmente útil cuando crea su propio código nativo con el NDK de Android. Si, por otro lado, estás utilizando una biblioteca de terceros que incluye estos archivos, es posible que desees eliminar estas líneas (*.o y *.so) de tu .gitignore.

Phil avatar Jan 10 '2014 16:01 Phil

Actualizado el 7/2015:

Aquí está la fuente definitiva de JetBrains


Formato de proyecto basado en directorio (directorio .idea)

Este formato lo utilizan todas las versiones recientes de IDE de forma predeterminada. Esto es lo que necesitas compartir:

  • Todos los archivos del .ideadirectorio en la raíz del proyecto, excepto los archivos workspace.xmly tasks.xmlque almacenan configuraciones específicas del usuario.
  • Todos los .imlarchivos del módulo que se pueden ubicar en diferentes directorios del módulo (se aplica a IntelliJ IDEA)

Tenga cuidado al compartir lo siguiente:

  • Artefactos de Android que producen una compilación firmada (contendrán contraseñas del almacén de claves)
  • En IDEA 13 y anteriores dataSources.ids, datasources.xmlpuede contener contraseñas de bases de datos. La IDEA 14 resuelve este problema .

Puede considerar no compartir lo siguiente:

  • archivo gradle.xml, vea esta discusión
  • Carpeta de diccionarios de usuario (para evitar conflictos si otro desarrollador tiene el mismo nombre)
  • Archivos XML .idea/librariesen caso de que se generen a partir del proyecto Gradle

Formato de proyecto heredado ( // .iprarchivos ).iml.iws

  • Comparta el .iprarchivo del proyecto y todos los .imlarchivos del módulo, no comparta el .iwsarchivo ya que almacena configuraciones específicas del usuario.

Si bien estas instrucciones son para IntelliJ IDEA, son válidas al 100 % para Android Studio.


Aquí hay un .gitignorefragmento que incorpora todas las reglas anteriores:

# Android Studio / IntelliJ IDEA 
*.iws
.idea/libraries
.idea/tasks.xml
.idea/vcs.xml
.idea/workspace.xml
Sky Kelsey avatar Aug 26 '2013 22:08 Sky Kelsey