Arquivo .gitignore típico para um aplicativo Android


116

Basta colocar um projeto Android em git ( beanstalk controle de versão ) por meio da linha de comando ( terminal mac ). A próxima etapa é configurar exclusões.

Para aqueles de vocês que já seguiram este caminho:

Qual deve ser a aparência de um arquivo .gitignore típico para um projeto Android?

Projeto configurado no Eclipse

Respostas:


178

Você pode misturar Android.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

com Eclipse.gitignore :

*.pydevproject
.project
.metadata
bin/**
tmp/**
tmp/**/*
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# CDT-specific
.cproject

# PDT-specific
.buildpath

2
Eu não conhecia o repositório gitignore do github, essa é realmente uma dica útil, obrigado.
— anddam

14
Você realmente deseja ignorar .classpath? Isso parece uma coisa bastante importante para ter em seu repositório git.
— Chris Knight

Curiosamente, parece que isso foi alterado desde seu comentário, Chris. Obrigado pelo aviso! O arquivo atualizado está no link que ele postou.
— Setor 95 de

3
Além de .classpath, o outro arquivo que você não deseja ignorar é .project.
— 0xF 01 de

16

Além do que os outros sugeriram, gostaria de adicionar a proguardpasta, caso você esteja usando. Você pode ignorar a pasta inteira ou apenas dump.txt, seeds.txte usage.txt. Basicamente, é uma boa ideia manter a mapping.txtversão, para que você possa depurar rastreamentos de pilha ofuscados de seus usuários. Mais detalhes aqui .


5

Este é o meu Android .gitignoree .hgignorearquivo padrão . Geralmente funciona muito bem.

bin
gen
target
.settings
.classpath
.project
*.keystore
*.swp
*.orig
*.log
*.properties
seed.txt
map.txt

Inclui eclipse, arquivos vim .swp, pasta de destino mavens e arquivos para mapeamento de proguard.

Atualização: coloquei meu .gitignore para desenvolvimento Android online .


Por que o arquivo keystore está lá?
— shinzou

Para não fazer commit, caso esteja nessa pasta.
— keyboardsurfer

1
Sim mas por quê? ``
— shinzou

4

Bem, eu sei que o repositório github / gitignore no GitHub tem um arquivo android .gitignore . Isso pode ser o que você deseja, pois deve ser muito geral para o desenvolvimento do Android.

O conteúdo real do arquivo mencionado:

# 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

2

Aqui está o que eu uso em meus projetos Android, ele suporta ADT e Android Studio, então é bom se você estiver trabalhando em equipe.

# General Folders

# gradle/ comment this when using gradle wrapper.
build/
bin/
gen/
tmp/
# proguard/ comment if not using proguard.
.gradle/
.settings/
.idea/

# General Files

.project
.classpath
.DS_Store
local.properties
*.iml
# gradlew comment when using gradle wrapper
# gradlew.bat comment when using gradle wrapper
Thumbs.db


# files specific to current project
your_apk.apk

1

Simplesmente github pode gerar .gitignorepara repositórios de projetos Android

insira a descrição da imagem aqui

E seu conteúdo será como o seguinte

# Built application files
*.apk
*.ap_

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle/
build/

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

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# IntelliJ
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
.idea/caches

# Keystore files
# Uncomment the following line if you do not want to check your keystore files in.
#*.jks

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# Google Services (e.g. APIs or Firebase)
google-services.json

# Freeline
freeline.py
freeline/
freeline_project_description.json

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md


0

Além disso, se você usar o IntelliJ do IDEA e construir artefatos (e deveria), você pode querer adicionar:

out/

(é onde os artefatos são construídos por padrão).

E se você não quiser compartilhar suas coisas do projeto IntelliJ, ignore

.idea/
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.