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:

  1. Öffnen Sie Android Studio
  2. Projekt importieren
  3. 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:

  1. Verzeichnisbasiertes Format (Sie haben einen .idea Ordner, der die projektspezifischen Dateien enthält)
  2. 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:

  1. Schließen Sie den .idea-Ordner zur Versionskontrolle ein, schließen Sie tasks.xml und tasks.xml
  2. 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 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:

  1. 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.

  2. 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

Android Gitignore in github


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.

  1. Use the Tortoise SVN repository browser to create a new project folder directly in the repository.
  2. 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.
  3. Open your project from the local working directory. VCS should now be enabled automatically
  4. Set your file exceptions in File -> Settings -> Version Control -> Ignored Files
  5. Add files to SVN from Android Studio: select 'App' in Project Structure -> VCS -> Add to VCS (this will add all files, except "Ignored Files")
  6. 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




gitignore