File .gitignore tipico per un'app Android


116

Basta mettere un progetto Android sotto il controllo della versione git ( beanstalk ) tramite la riga di comando ( terminale mac ). Il passaggio successivo consiste nell'impostare le esclusioni.

A quelli di voi che hanno già intrapreso questa strada:

Come dovrebbe apparire un tipico file .gitignore per un progetto Android?

Progetto impostato in Eclipse

Risposte:


178

Puoi mescolare 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

con 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
Non conoscevo il repository gitignore di github, è davvero un suggerimento utile, grazie.
anddam

14
Vuoi davvero ignorare .classpath? Sembra una cosa piuttosto importante da avere nel tuo repository git.
Chris Knight

È interessante notare che sembra che sia stato modificato dal tuo commento, Chris. Grazie per il testa a testa! Il file aggiornato si trova nel link che ha pubblicato.
Settore95

3
Oltre a .classpath, l'altro file che non vuoi ignorare è .project.
0xF

16

Oltre a quanto suggerito dagli altri, vorrei aggiungere la proguardcartella, nel caso la stiate utilizzando. Puoi ignorare l'intera cartella o semplicemente dump.txt, seeds.txte usage.txt. Fondamentalmente, è una buona idea mantenere il controllo delle mapping.txtversioni, in modo da poter eseguire il debug delle tracce dello stack offuscate dagli utenti. Maggiori dettagli qui .


5

Questo è il mio file .gitignoree Android standard .hgignore. Di solito funziona abbastanza bene.

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

Ha eclipse, file vim .swp, cartella di destinazione mavens e file per la mappatura proguard inclusi.

Aggiornamento: ho messo online il mio .gitignore per lo sviluppo Android .


Perché c'è il file keystore?
shinzou

Per non eseguire il commit, nel caso sia in quella cartella.
Keyboardsurfer

1
Si ma perché? ``
shinzou

4

Bene, so che il repository github / gitignore su GitHub ha un file .gitignore Android . Questo potrebbe essere quello che vuoi in quanto dovrebbe essere molto generale per lo sviluppo Android.

Il contenuto effettivo del file citato:

# 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

Ecco quello che uso nei miei progetti Android, supporta sia ADT che Android Studio, quindi è buono se lavori con un team.

# 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

Semplicemente github può generare .gitignorerepository di progetti Android

inserisci qui la descrizione dell'immagine

E il suo contenuto sarà come il seguente

# 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

Nella root del mio progetto ho un file .gitignore. Contiene:

/bin/
/gen/

0

Inoltre, se usi IntelliJ di IDEA e costruisci artefatti (e dovresti), potresti voler aggiungere:

out/

(è qui che vengono creati gli artefatti per impostazione predefinita).

E se non vuoi condividere le cose del tuo progetto IntelliJ, ignoralo

.idea/
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.