vorlage - Was sollte in meinem.gitignore für ein Android Studio-Projekt sein?
gitignore vorlage (20)
Ab Android Studio 0.8.4. Gitignore-Datei wird automatisch beim Start eines neuen Projekts generiert. Standardmäßig enthält es:
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
build/
/captures
Ich stimme dieser Aussage zu, aber ich modifiziere diese Datei, um sie zu ändern / zu bauen / (Dies schließt / build und / app / build) ein. Ich habe also nicht alle Dateien in app / build in meinem Repository.
Beachten Sie auch, dass beim Importieren eines Projekts aus Eclipse das .gitignore nicht kopiert oder "automatisch" für Sie erstellt wird.
Welche Dateien sollten in meinem .gitignore
für ein Android Studio-Projekt enthalten sein?
Ich habe mehrere Beispiele gesehen, die alle .iml
aber IntelliJ-Dokumente sagen, dass .iml
in Ihrer Quellcodeverwaltung .iml
muss.
Ab Android Studio .gitignore
Datei wird automatisch beim Start eines neuen Projekts generiert. Standardmäßig enthält es:
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
Es empfiehlt sich, die .gitignore-Liste während der Entwicklungszeit zusammenzufassen, um unbekannte Nebeneffekte zu vermeiden, wenn die Versionskontrolle aus irgendeinem Grund aufgrund der vordefinierten (Kopieren / Einfügen-) Liste aus irgendeinem Grund nicht funktioniert. Für eines meiner Projekte besteht die Ignorierliste nur aus:
.gradle
.idea
libs
obj
build
*.log
Es gibt keine Notwendigkeit, der Quellcodeverwaltung eine der folgenden hinzuzufügen:
.idea/
.gradle/
*.iml
build/
local.properties
So können Sie hgignore oder gitignore entsprechend konfigurieren.
Das erste Mal, dass ein Entwickler die Quellcodeverwaltung klont, kann gehen:
- Öffnen Sie Android Studio
- Projekt importieren
- Suchen Sie nach dem build.gradle im geklonten Repository und öffnen Sie es
Das ist alles
PS: Android Studio wird dann, durch Maven, das Gradle-Plugin erhalten, vorausgesetzt, dass dein build.gradle ähnlich aussieht:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.2'
}
}
allprojects {
repositories {
mavenCentral()
}
}
Android Studio generiert den Inhalt des .idea-Ordners (einschließlich der workspace.xml, die sich nicht in der Quellcodeverwaltung befinden sollte, weil sie generiert wird ) und des .gradle-Ordners.
Dieser Ansatz ist Eclipse-freundlich, da die Quellcodeverwaltung nichts über Android Studio weiß. Android Studio benötigt nur die Datei build.gradle, um ein Projekt zu importieren und den Rest zu generieren.
Hängt davon ab, wie Ihr Projektformat verwaltet wird:
Sie haben zwei Möglichkeiten:
- Verzeichnisbasiertes Format (Sie haben einen
.idea
Ordner, der die projektspezifischen Dateien enthält) - Dateibasiertes Format (Konfigurationsdateien sind
.iws
und.ipr
)
Ref: http://www.jetbrains.com/idea/webhelp/project.html
Dateien, die an die Versionskontrolle übergeben werden, hängen von den oben genannten Faktoren ab:
- Schließen Sie den .idea-Ordner zur Versionskontrolle ein, schließen Sie
tasks.xml
undtasks.xml
- Die
.ipr
Datei für die.iml
und alle.iml
Moduldateien schließen die.iws
Datei aus, da sie benutzerspezifische Einstellungen speichert.
Ref: https://intellij-support.jetbrains.com/entries/23393067
Ich benutze das. Gitignore. Ich fand es unter: http://th4t.net/android-studio-gitignore.html
*.iml
*.iws
*.ipr
.idea/
.gradle/
local.properties
*/build/
*~
*.swp
Ich füge Github .gitignore Dateien zusammen
### Github Android.gitignore ###
# Built application files
*.apk
*.ap_
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
# 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/
### Github JetBrains.gitignore ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
*.iml
## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:
# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries
# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml
# Gradle:
# .idea/gradle.xml
# .idea/libraries
# Mongo Explorer plugin:
# .idea/mongoSettings.xml
## File-based project format:
*.ipr
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
Please read: JetBrains Support: How to manage projects under Version Control Systems
Ich stimme all diesen Antworten nicht zu. Die folgende Konfiguration funktioniert hervorragend für die App unserer Organisation.
Ich ignoriere:
-
/build
-
/.idea
(mit möglichen Ausnahmen, siehe Kommentare in Dalewking's Antwort ) -
*.iml
-
local.properties
Ich denke, fast alle stimmen zu /build
.
Ich habe es /.idea
ständig Nachrichten über die verschiedenen library.xml
Dateien zu sehen, die Gradle in /.idea
erstellt oder löscht. Die build.gradle
wird beim ersten Auschecken des Projekts auf dem lokalen build.gradle
der Entwickler ausgeführt. Warum müssen diese XML-Dateien also versioniert werden? Android Studio generiert auch den Rest von /.idea
wenn ein Entwickler ein Projekt mithilfe von Check out from Version Control
Warum muss also in diesem Ordner eine Check out from Version Control
werden?
Wenn die *.iml
versioniert ist, muss ein neuer Benutzer das Projekt genau so benennen, wie es beim *.iml
der *.iml
war. Da dies auch eine generierte Datei ist, warum sollte sie überhaupt zuerst veröffentlicht werden?
Die Dateien local.properties
auf einen absoluten Pfad im Dateisystem für das SDK, daher sollte es definitiv nicht versioniert werden.
Edit 1 : Hinzugefügt .gradle
, um die Gradle Caching-Sachen zu ignorieren, die nicht versioniert werden sollten (danke Vasily Makarov ).
Edit 2 : Hinzugefügt. .DS_Store
jetzt, dass ich Mac benutze. Dieser Ordner ist Mac-spezifisch und sollte nicht versioniert werden.
Zusätzlicher Hinweis : Sie möchten wahrscheinlich auch ein Verzeichnis hinzufügen, in das Sie Ihre Signaturschlüssel beim Erstellen einer Release-Version einfügen können.
Zum Kopieren / Einfügen :
.gradle
/build
/.idea
*.iml
local.properties
.DS_Store
Ich weiß, das ist ein altes Thema und es gibt sicherlich viele Möglichkeiten, aber ich bevorzuge gibo
von Simon Whitaker. Es ist super einfach zu bedienen, plattformübergreifend (Mac, * Nix und Windows) und verwendet das Github github.com/github/gitignore Repo, so dass es (grundsätzlich) immer auf dem neuesten Stand ist.
Stellen Sie sicher, dass Ihr lokaler Cache auf dem neuesten Stand ist:
$ gibo --upgrade
From https://github.com/github/gitignore
* branch master -> FETCH_HEAD
Current branch master is up to date.
Suchen Sie nach der Sprache / Technologie, die Sie benötigen:
$ gibo --search android
Android
Zeigen Sie die .gitignore-Datei an:
$ gibo Android
### Android
# Built application files
*.apk
*.ap_
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
Fügen Sie es nun der .gitigore-Datei Ihres Projekts hinzu:
$ gibo Android >> .gitignore
(Stellen Sie sicher, dass Sie >>
zum Anhängen an die .gitigore-Datei Ihres Projekts verwenden; eine >
überschreibt sie - wie ich es schon oft bei einem Unfall getan habe!)
Ich weiß, dass dies nicht die genaue Frage des OP beantwortet, aber die Verwendung von Gibo macht es so, dass Sie nicht mehr viel über die "Frage" nachdenken müssen! .. es ist schön! ;)
Im Fall von Android Studio sind die einzigen Dateien, die in der Versionskontrolle gespeichert werden müssen, die Dateien, die zum Erstellen der Anwendung über die Befehlszeile mithilfe von Gradle erforderlich sind. So können Sie ignorieren:
- * .iml
- .Idee
- bauen
Wenn Sie jedoch IDE-Einstellungen speichern, z. B. benutzerdefinierte Codestileinstellungen, werden diese im Ordner .idea gespeichert. Wenn Sie diese Änderungen in der Versionskontrolle möchten, dann würden Sie auch die IDEA-Dateien (* .iml und .idea) speichern.
Um eine bessere Idee zu bekommen, brauchen Sie nur die folgenden Dateien
- App
- build.gradle
- settings.gradle
Sie könnten alles andere in die .gitigore-Datei einfügen. Alle Ihre App-Änderungen liegen hauptsächlich in diesen Dateien und Ordnern. Der Rest, den Sie in einem Basisprojekt sehen, sind große Build-Dateien oder Android Studio-Konfigurationsdateien.
Wenn Sie Android Studio verwenden, können Sie "Projekt importieren" verwenden, um das Projekt erfolgreich zu erstellen. Alternativ können Sie mithilfe der Befehlszeile Build android projects with Gradle erstellen .
Verwenden Sie für Android Studio 3.0-Projekte Folgendes:
.gitignore
.gradle
.idea
*.iml
gradle.properties
local.properties
.DS_Store
build
Gradle Projektordner
Das einzige, was nach dem Klonen des Repository in Ihrem (Gradle) Projektordner sein sollte, ist diese Struktur (zumindest für die Anwendungsfälle, die ich bisher gefunden habe):
/app
/gradle
.gitignore
build.gradle
build.properties
gradlew
gradle.bat
settings.gradle
.gitignore from AndroidRate library
# Copyright 2017 - 2018 Vorlonsoft LLC
#
# Licensed under The MIT License (MIT)
# Built application files
*.ap_
*.apk
# Built library files
*.aar
*.jar
# Built native files
*.o
*.so
# Files for the Dalvik/Android Runtime (ART)
*.dex
*.odex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk/ndk path, etc)
local.properties
# Windows thumbnail cache
Thumbs.db
# macOS
.DS_Store/
# Log Files
*.log
# Android Studio
.navigation/
captures/
output.json
# NDK
.externalNativeBuild/
obj/
# IntelliJ
## User-specific stuff
.idea/**/tasks.xml
.idea/**/workspace.xml
.idea/dictionaries
## Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/dynamic.xml
.idea/**/sqlDataSources.xml
.idea/**/uiDesigner.xml
## Gradle
.idea/**/gradle.xml
.idea/**/libraries
## VCS
.idea/vcs.xml
## Module files
*.iml
## File-based project format
*.iws
github.com/github/gitignore is awesome collection
Android.gitignore
# 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
Auf Android Studio 3.0 aktualisiert Bitte teilen Sie fehlende Elemente in Kommentaren.
Eine späte Antwort aber keine der Antworten hier und here war direkt auf das Geld für uns ...
Also, hier ist unsere Gitignore-Datei:
#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
Seit Android Studio 2.2 und bis zu 3.0 werden neue Projekte mit dieser Gitignore-Datei erstellt:
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild
Veraltet - für ein älteres Projektformat fügen Sie diesen Abschnitt Ihrer Gitignore-Datei hinzu:
/*/out
/*/*/build
/*/*/production
*.iws
*.ipr
*~
*.swp
Diese Datei sollte sich im Stammordner des Projekts und nicht im Modulordner des Projekts befinden.
Notizen bearbeiten:
Seit der Version 0.3+ scheint es, dass Sie * .iml- und build.gradle- Dateien committen und pushen können. Wenn Ihr Projekt auf Gradle basiert: Im neuen Öffnen / Importieren-Dialog sollten Sie das Kontrollkästchen
"use auto import"
aktivieren und das Optionsfeld"use default gradle wrapper (recommended)"
markieren. Alle Pfade sind jetzt relativ, wie @ George vorgeschlagen hat.Aktualisierte Antwort nach @ 128KB angefügte Quelle und @Skela Vorschläge
Getestet mit Android Studio 3.0
Möglicherweise müssen Sie das .ignore- Plugin installieren.
Sie können die .gitignore-Datei für Android automatisch generieren. Rechtsklick auf Ordner und folgen
Wählen Sie dann Android aus dem linken Bereich und klicken Sie auf Generieren
Android Studio generiert die Datei .gitignore, die alle zu ignorierenden Dateien enthält.
Genommen von http://menukanows.com/how-to-add-gitignore-file-in-android-project/
Compilation:
#built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# generated files
bin/
gen/
# Gradle files
.gradle/
build/
/*/build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Windows thumbnail db
Thumbs.db
# OSX files
.DS_Store
# Eclipse project files
.classpath
.project
# Android Studio
*.iml
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/
# Intellij project files
*.iml
*.ipr
*.iws
.idea/
Github maintains useful gitignore items for various kinds of projects. Here is the list of useful gitignore items for android projects.
# 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/libraries
# Keystore files
*.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
To circumvent the import of all files, where Android Studio ignores the "Ignored Files" list, but still leverage Android Studio VCS, I did the following: This will use the "Ignored Files" list from Android Studio (after import! not during) AND avoid having to use the cumbersome way Tortoise SVN sets the svn:ignore list.
- Use the Tortoise SVN repository browser to create a new project folder directly in the repository.
- Use Tortoise SVN to checkout the new folder over the top of the folder you want to import. You will get a warning that the local folder is not empty. Ignore the warning. Now you have a versioned top level folder with unversioned content.
- Open your project from the local working directory. VCS should now be enabled automatically
- Set your file exceptions in File -> Settings -> Version Control -> Ignored Files
- Add files to SVN from Android Studio: select 'App' in Project Structure -> VCS -> Add to VCS (this will add all files, except "Ignored Files")
- Commit Changes
Going forward, "Ignored Files" will be ignored and you can still manage VCS from Android Studio.
Cheers, -Joost
### Github Android.gitignore ###
# Built application files
*.apk
*.ap_
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
# 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/
### Github JetBrains.gitignore ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
*.iml
## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:
# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries
# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml
# Gradle:
# .idea/gradle.xml
# .idea/libraries
# Mongo Explorer plugin:
# .idea/mongoSettings.xml
## File-based project format:
*.ipr
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties