Co powinno być w moim .gitignore dla projektu Android Studio?

1255

Jakie pliki powinny znajdować się w moim .gitignoreprojekcie Android Studio?

Widziałem kilka przykładów, z których wszystkie obejmują, .imlale dokumenty IntelliJ mówią, że .imlmuszą być uwzględnione w kontroli źródła.

szacunek Kod
źródło
7
github.com/github/gitignore
Yousha Aleayoub

Odpowiedzi:

1330

Zaktualizowano do Android Studio 3.0. Udostępnij brakujące elementy w komentarzach.

Późna odpowiedź, ale żadna z odpowiedzi tutaj i tutaj nie dotyczyła pieniędzy dla nas ...

Oto nasz plik 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

# 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

Od wersji Android Studio 2.2 i 3.0 nowe projekty są tworzone za pomocą tego pliku gitignore:

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

Przestarzałe - w przypadku starszego formatu projektu dodaj tę sekcję do pliku gitignore:


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

Ten plik powinien znajdować się w folderze głównym projektu, a nie w folderze modułu projektu.

Edytuj notatki:

  1. Od wersji 0.3+ wydaje się, że możesz zatwierdzać i przesyłać pliki * .iml i build.gradle . Jeśli Twój projekt jest oparty na Gradle: w nowym oknie dialogowym Otwórz / Importuj zaznacz pole "use auto import"wyboru i zaznacz "use default gradle wrapper (recommended)"przycisk opcji. Wszystkie ścieżki są teraz względne, jak sugeruje @George.

  2. Zaktualizowana odpowiedź zgodnie z załączonym źródłem @ 128KB i sugestiami @Skela

Lior Iluz
źródło
8
Dlaczego musimy importować projekt i ręcznie dodawać biblioteki lib i zależności modułów? Czy jest jakiś sposób na zachowanie tych rzeczy w repozytorium, a kiedy klonujemy repozytorium, po prostu otwieramy projekt?
Justin,
13
Właściwy sposób to sprawdzić w plikach * .iml i * .ipr i po prostu otworzyć je w IDE. Po co zmusić inne osoby w zespole do odtworzenia tych plików i dlaczego pozwalają im korzystać z prawdopodobnie niepoprawnych ustawień (takich jak wersja SDK)?
Sky Kelsey,
26
@liorry, nie zgadzam się. To jest pierwsza odpowiedź, którą zobaczą inni ludzie, i jest ona zdecydowanie głosowana. Ze względu na wszystkie rzeczy, które musisz zrobić, aby uruchomić projekt po świeżym klonie od gita za pomocą tego konkretnego .gitignore, mocno czuję, że nie jest to, czego większość ludzi potrzebuje. Chociaż wydaje mi się, że liczba głosów w górę mówi mi inaczej, ale nadal się nie zgadzam. Przynajmniej być może niektóre informacje stwierdzające, że najprawdopodobniej będziesz musiał ponownie skonfigurować projekt i nie zadziała on od razu po wyjęciu z pudełka.
Skela,
10
@liorry, nie mam na myśli niegrzeczności ani żadnego partnera, proszę, nie bierz tego do siebie. Problem polega na tym, że te rzeczy muszą działać przy minimalnej ilości konfiguracji, aby były praktyczne. Kiedy musisz zaimportować projekt i ręcznie dodać zależności modułów, natychmiast wkracza on w świat szaleństwa. Gdy znasz się na projekcie i znasz te rzeczy na wylot, nie ma problemu z twoim podejściem. Ale dla programisty, który klonuje projekt po raz pierwszy, jest to po prostu niepraktyczne. Naprawdę staram się tylko upewnić, że twoje podejście nie stanie się normą.
Skela
14
Należy nie wersji .imlplików bez wa do czynienia z niepotrzebnych przykrości, jeśli inni użytkownicy nazwa projektu różnie kiedy sprawdzić.
theblang
151

Opierając się na moim zwykłym Android .gitignore i po przeczytaniu dokumentacji na stronie Intellij IDEA i przeczytaniu postów na StackOverflow, stworzyłem następujący plik:

# 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

Należy również pamiętać, że jak wspomniano, sekcja wbudowanych plików natywnych jest przede wszystkim przydatna, gdy budujesz swój własny kod natywny za pomocą Androida NDK. Jeśli natomiast korzystasz z biblioteki innej firmy, która zawiera te pliki, możesz usunąć te linie (* .o i * .so) z .gitignore.

Phil
źródło
10
Prawie dobrze. Nie sądzę, że dobrym pomysłem jest ignorowanie * .so, ponieważ nie będziesz w stanie pracować z projektami, które mają powiązania zależne od bibliotek NDK. Ale bardzo dobry punkt wyjścia dla wszystkich kont!
Skela
@Skela dobry punkt. Miałem je tam od czasu, gdy budowałem własne pliki natywne - ale pracowałem również nad projektami, które wymagają prostej kopii i wklejenia gotowych plików. Do powyższej odpowiedzi dodałem notatkę.
Phil
@Phil Czy masz jakieś opinie na temat plików XML .idea/libraries? Czy Twoim zdaniem powinny one zostać udostępnione czy wykluczone?
Alex Lockwood
1
@AlexLockwood Myślę, że te pliki powinny zostać dołączone, jeśli projekt nie jest zależny od innego projektu lub modułu. Jeśli jednak projekt jest zależny od modułu zawierającego biblioteki, plik ten powinien zostać zignorowany na poziomie projektu, ale nie przez moduł.
Phil
@Fil bardzo fajny i korzystałem z tego do tej pory, ale plik dex prześlizguje się przez pęknięcia: /moduledirectory/build/intermediates/dex-cache/cache.xml - czy nie ma sensu dodawać ** / build w celu wykluczyć foldery kompilacji również w modułach?
Oliver Hausler
82

Zaktualizowano 7/2015:

Oto ostateczne źródło z JetBrains


Format projektu oparty na katalogu (katalog .idea)

Ten format jest domyślnie używany we wszystkich najnowszych wersjach IDE. Oto, co musisz udostępnić:

  • Wszystkie pliki z .ideakatalogu w katalogu głównym projektu wyjątkiemworkspace.xml itasks.xml pliki, które ustawienia poszczególnych użytkowników sklepu
  • Wszystkie .imlpliki modułów, które mogą znajdować się w różnych katalogach modułów (dotyczy IntelliJ IDEA)

Zachowaj ostrożność, udostępniając następujące informacje:

  • Artefakty Androida, które tworzą podpisaną kompilację (będą zawierać hasła magazynu kluczy)
  • W IDEA 13 i wcześniej dataSources.ids, datasources.xmlmogą zawierać hasła bazy danych. IDEA 14 rozwiązuje ten problem .

Możesz rozważyć nieudostępnianie:

  • plik gradle.xml, patrz tę dyskusję
  • folder słowników użytkownika (aby uniknąć konfliktów, jeśli inny programista ma tę samą nazwę)
  • Pliki XML .idea/librariesna wypadek, gdyby zostały wygenerowane z projektu Gradle

Starszy format projektu ( pliki .ipr/ .iml/ .iws)

  • Podziel projektu .iprplik i wszystkie .imlpliki modułu, nie dzielą się .iws, jak plik przechowuje ustawienia konkretnego użytkownika

Chociaż te instrukcje dotyczą IntelliJ IDEA, mają 100% wartości w przypadku Android Studio.


Oto .gitignorefragment kodu, który zawiera wszystkie powyższe reguły:

# Android Studio / IntelliJ IDEA 
*.iws
.idea/libraries
.idea/tasks.xml
.idea/vcs.xml
.idea/workspace.xml
Sky Kelsey
źródło
Które zestawy SDK są obsługiwane, zdefiniowano w pliku AndroidManifest.xml (a także Gradle). Każdy zestaw SDK dozwolony przez to ustawienie musi być odpowiedni do programowania. Odnośnie stylów kodu: nie jest to coś, co musi być utrzymywane w każdym projekcie osobno, a ponadto powinno być wyjaśnione niezależnie od IDE. Nagłówki praw autorskich: mam nadzieję, że znajdują się one w twojej bazie kodu, a nie w żadnych plikach projektu IDE. W przeciwnym razie budowanie w
wierszu
@Risadinha 1) SDK są również definiowane na poziomie IDE. Są one przywoływane w Manifeście, ale plik projektu zawiera rzeczywiste definicje zestawu SDK. 2) Styl kodu należy zachować NAJMNIEJ NA poziomie projektu. Idealnie byłoby, gdyby każdy napisał standardową Javę, ale no cóż. 3) Nagłówki praw autorskich są przechowywane w projekcie. Służą do tworzenia nowych plików i mogą zawierać makra dla nazwy, nazwy firmy, projektu, daty itp. Polecam je sprawdzić! Podsumowując, pliki projektu zawierają ważne meta informacje o projekcie, które należy udostępniać i kontrolować w zespole.
Sky Kelsey,
3
Opiekun wprowadził zmiany do własnego repozytorium . Prawdopodobnie wkrótce zostanie wciągnięty w mistrza.
FalconC,
5
JetBrains wycofał dokument DOC-1186 i umieścił swoje zaktualizowane rekomendacje w nowym poście : DOKŁADNIE: Wszystkie pliki w katalogu .idea w katalogu głównym projektu oprócz workspace.xml i tasks.xml oraz wszystkie pliki .iml. UWAŻAJ, udostępniając artefakty Androida, które tworzą podpisaną kompilację (będą zawierać hasła magazynu kluczy), dataSources.ids i datasources.xml (mogą zawierać hasła). Z UWZGLĘDNIENIEM: gradle.xml, folder słowników użytkownika i pliki XML w .idea / bibliotekach (w przypadku, gdy są generowane z projektu Gradle).
JSmitty
2
To piękna teoria, ale to po prostu nie działa dla nas. Konsekwentnie otrzymujemy pliki .iml z następującymi wpisami: <orderEntry type="jdk" jdkName="1.6 (38)" jdkType="JavaSDK" />Zwróć uwagę na liczbę 38, która wydaje się stale zwiększana. (plik misc.xml również ma ten problem).
Sam
41

Nie zgadzam się z tymi wszystkimi odpowiedziami. Poniższa konfiguracja działa doskonale dla aplikacji naszej organizacji.

Ignoruję:

  • /build
  • /.idea(z możliwymi wyjątkami, patrz komentarze w odpowiedzi dalewking )
  • *.iml
  • local.properties

Myślę, że prawie wszyscy się zgadzają /build .

Mam dość ciągłego wyświetlania wiadomości o różnych library.xmlplikach, które Gradle tworzy lub usuwa /.idea. build.gradleBędzie działał na programiści Local kiedy po raz pierwszy zapoznać się z projektem, więc dlaczego te pliki XML muszą być wersjami? Android Studio wygeneruje również resztę, /.ideagdy programista utworzy projekt przy użyciuCheck out from Version Control , więc dlaczego cokolwiek w tym folderze wymaga wersji?

Jeśli… *.iml wersja jest wersjonowana, nowy użytkownik będzie musiał nazwać projekt dokładnie tak samo, jak w momencie zatwierdzenia. Ponieważ jest to również plik generowany, dlaczego warto go najpierw wersjonować?

The local.properties pliki wskazuje na bezwzględną ścieżkę w systemie plików dla SDK, więc to na pewno nie powinno być wersji.

Edycja 1 : Dodano, .gradleaby zignorować elementy buforowania stopni, które nie powinny być wersjonowane (dzięki Vasily Makarov ).

Edycja 2 : Dodano .DS_Storeteraz, gdy używam komputera Mac. Ten folder jest przeznaczony dla komputerów Mac i nie powinien być wersjonowany.

Dodatkowa uwaga : Prawdopodobnie chcesz również dodać katalog, w którym będziesz umieszczać klucze do podpisywania podczas budowania wersji wydania.

Dla wygody kopiowania / wklejania :

.gradle
/build
/.idea
*.iml
local.properties
.DS_Store 
theblang
źródło
4
Zgadzam się z twoją odpowiedzią. Uważam również, że ani pliki * .iml, ani .idea nie powinny być wersjonowane: stackoverflow.com/a/26290130/2948212
diegosasw
7
Głosuję na twojego gitignore, ponieważ jest bardzo podobny do mojego. Kilka sugestii: Użyj build/zamiast /builddopasowywać katalogi budowania modułów, takie jak app/build. Służy .gradledo dopasowania katalogu buforowania stopniowego.
Wasilij Makarow
Zastanawiam się także, dlaczego domyślna lista gitignore / build zamiast build / kończy się na wszystkich plikach w app / build w moim repozytorium, jeśli
użyję
@ guyland123 Właśnie zauważyłem, że mam inny .gitignoreplik w katalogu aplikacji, który również zawiera /build. Czy to jest generowane automatycznie, nie pamiętam? Więc build/będzie dotyczyć podfolderów?
theblang
@mattblang tak .gitignore jest generowany automatycznie podczas tworzenia nowego projektu. Nie jest on jednak tworzony podczas importowania projektu z powiedzmy Eclipse. build / pasuje do wszystkich katalogów o nazwie „build” pod lokalizacją pliku .gitignore. Na przykład. aplikacja / kompilacja zostanie zignorowana.
guyland123 24.04.15
37

Używam tego .gitignore. Znalazłem to: http://th4t.net/android-studio-gitignore.html

*.iml
*.iws
*.ipr
.idea/
.gradle/
local.properties

*/build/

*~
*.swp
zachmurzony
źródło
1
* / build / nie ignoruje niezmienionych plików w moim katalogu kompilacji. jakieś pomysły? @ Solved: musiałem dodać * / * / build /, ponieważ mój folder kompilacji miał kilka katalogów.
speedynomads
35

W przypadku Android Studio jedynymi plikami, które należy zapisać w kontroli wersji, są pliki wymagane do zbudowania aplikacji z poziomu wiersza poleceń przy użyciu gradle. Możesz więc zignorować:

  • * .iml
  • .pomysł
  • budować

Jeśli jednak zapiszesz jakiekolwiek ustawienia IDE, takie jak niestandardowe ustawienia stylu kodu, zostaną one zapisane w folderze .idea. Jeśli chcesz zmiany w kontroli wersji, zapisz również pliki IDEA (* .iml i .idea).

Siva Velusamy
źródło
3
Dzięki za wyjaśnienie. Z tego, co przeczytałem, jeśli zamierzasz uwzględnić .idea w swoim projekcie, powinieneś zignorować * /. Idea / workspace.xml i * /. Idea / tasks.xml
szacunek TheCode
15
na razie nie ignoruj ​​folderu .idea. Wtyczka Gradle nie ma jeszcze zadania „pomysł pomysłu”, a importowanie projektu do Android Studio jest dalekie od ideału.
robotoaster
2
Również jeśli pracujesz w zespole, rozważ zignorowanie local.properties, ponieważ zawiera on ścieżkę sdk na stałe.
Calin
@robotoaster, czy nadal nie zaleca się ignorowania folderu .idea?
loeschg
@Ioeschg nie jest już wymagane. jeśli kasujesz czyste repozytorium git, skorzystaj z opcji Importuj nowy projekt i powinien on działać poprawnie, dopóki obecne są pliki kompilacji.
robotoaster,
20

Android Studio 3.4

Jeśli utworzysz projekt Gradle za pomocą Android Studio, .gitignoreplik będzie zawierał:

.gitignore

*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild

Poleciłbym zignorować pełny katalog „.idea”, ponieważ zawiera on konfiguracje specyficzne dla użytkownika, nic ważnego dla procesu kompilacji.

Folder projektu Gradle

Jedyną rzeczą, która powinna znajdować się w folderze projektu (Gradle) po klonowaniu repozytorium, jest ta struktura (przynajmniej w przypadkach użycia, które do tej pory napotkałem):

app/
.git/
gradle/
build.gradle
.gitignore
gradle.properties
gradlew
gradle.bat
settings.gradle

Zaleca się sprawdzenie skryptów opakowujących gradle (patrz tutaj ).

Aby udostępnić pliki Wrapper innym programistom i środowiskom wykonawczym, musisz sprawdzić je w kontroli wersji.

Willi Mentzel
źródło
1
Dlaczego warto przechowywać pliki binarne, takie jak gradlew i gradle.bat?
Bilthon
2
@Bilthon Nie są to pliki binarne. Są to skrypty uruchamiania stopniowego dla Windows (gradle.bat) i Linux (gradlew).
Willi Mentzel
Ohh .. Widzę, że masz rację, ale czy i tak nie są generowane automatycznie?
Bilthon
2
@Bilthon Rzeczywiście, są! Są generowane z opcjami domyślnymi. Jeśli coś zmienisz, powinny one zostać uwzględnione w twoim repozytorium, aby poprawnie je zbudować podczas sprawdzania, czy są nowe. Są tak małe, że ich utrzymanie zawsze nie przeszkadza.
Willi Mentzel
2
Sprawdź również ten oficjalny zasób tutaj, który wyraźnie zaleca, aby skrypty opakowania Gradle zostały poddane
friederbluemle
19

Radzę też, aby nie ignorować folderu .idea.

Zaimportowałem oparty na Git projekt Eclipse do Android Studio i wszystko poszło dobrze. Później chciałem zaimportować ten projekt za pomocą Git (jak za pierwszym razem) na inną maszynę z Android Studio, ale to nie zadziałało. Android Studio załadował wszystkie pliki, ale nie mógł „zobaczyć” projektu jako projektu. Mogłem tylko otwierać pliki Git.

Podczas importowania projektu po raz pierwszy (z Eclipse do Android Studio) mój stary plik .gitignore został nadpisany, a nowy wyglądał tak:

  • .idea / .name
  • .idea / compiler.xml
  • .idea / copyright / profile_settings.xml
  • .idea / encodings.xml
  • .idea / libraries / libs.xml
  • .idea / misc.xml
  • .idea / modules.xml
  • .idea / scopes / scope_settings.xml
  • .idea / vcs.xml
  • .idea / workspace.xml

Próbowałem więc użyć pustego gitignore i teraz zadziałało. Drugi Android Studio może załadować pliki i projekt. Myślę, że niektóre pliki nie są ważne (profiles_settings.xml)dla Git i importowania, ale cieszę się, że zadziałało.

Ingo
źródło
Od github.com/joeblau/gitignore.io/issues/… : erge Baranov (IntelliJ) 26 września, 14:23 CEST To zależy od projektu. Jeśli projekt jest importowany z Maven lub Gradle, pliki .iml są generowane automatycznie i mogą nie być udostępniane, w przeciwnym razie pliki te są niezbędne dla projektu i muszą być udostępnione, aby inni użytkownicy mogli otworzyć projekt po kasie. Pliki .iml zawierają wszystkie informacje o konfiguracji modułu (katalogi główne, foldery źródłowe, zależności itp.).
Adrian Romanelli
9

To najlepszy sposób, aby wygenerować .gitignorepoprzez tutaj

Jacky
źródło
1
Nie mogę sprawić, by działało to w Android Studio. Jeśli po prostu wybiorę „android”, wygląda to na implementację Eclipse. Czy robię to źle?
zipzit,
Jedyną wzmianką o Eclipse jest jeden wiersz: „Folder Proguard wygenerowany przez Eclipse”. Reszta wydaje się OK dla AS
Jose_GD
@zipzit, być może masz rację. Wygląda na to, że witryna generuje .gitignore nie dla Androida Studio, ponieważ nie zawiera .idea /.
CoolMind,
1
Istnieje również opcja Android Studio
Daniyal Javaid,
8

NIE MA POTRZEBY dodania do kontroli źródła żadnego z poniższych:

.idea/
.gradle/
*.iml
build/
local.properties

Możesz więc odpowiednio skonfigurować hgignore lub gitignore.

Przy pierwszym klonowaniu przez programistę kontrola źródła może przejść:

  1. Otwórz Android Studio
  2. Importuj projekt
  3. Wyszukaj build.gradle w sklonowanym repozytorium i otwórz go

To wszystko

PS: Android Studio dostanie następnie za pośrednictwem maven wtyczkę gradle, zakładając, że twoja build.gradle wygląda podobnie do tego:

// 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 wygeneruje zawartość folderu .idea (w tym workspace.xml, który nie powinien mieć kontroli źródła, ponieważ jest generowany ) oraz folderu .gradle.

To podejście jest przyjazne dla środowiska Eclipse, ponieważ kontrola źródła tak naprawdę nic nie wie o Android Studio. Android Studio potrzebuje tylko build.gradle, aby zaimportować projekt i wygenerować resztę.

diegosasw
źródło
5
Ludzie, którzy głosują negatywnie, powinni podać uzasadniony powód. Pomocne może być poinformowanie nas / wszystkich, jeśli mylimy się z naszą odpowiedzią.
diegosasw
1
There is NO NEEDtak, są pewne przypadki: na przykład szablony praw autorskich, które muszą być udostępniane członkom zespołu.
Henrique de Sousa
8

Popieram zatwierdzenie folderu .idea (z wyłączeniem workspace.xmli tasks.xml). Ale zaczynam dochodzić do wniosku, że pliki .iml powinny być ignorowane.

Oto problem:

Otwórz na przykład projekt w katalogu o nazwie „foo”, a otrzymasz foo.iml i wszystko wydaje się dobre i dobre. Problem polega na tym, że jeśli po prostu zmienię nazwę katalogu na foo2 (lub sklonuję go do innej nazwy katalogu) podczas próby otwarcia projektu w Android Studio, otrzymasz trzy rzeczy:

  • Nowy plik iml o nazwie foo2.iml
  • Plik iml dla twojego projektu na Androida zostanie zmieniony tak, aby wskazywał teraz na foo2 jako jego element nadrzędny
  • .idea / modules.xml zostanie dodany wiersz dla foo2.iml, więc ma zarówno stary plik iml, jak i nowy katalog

Nie mogę znaleźć sposobu, aby uniemożliwić Android Studio generowanie tego pliku IML, gdy projekt jest przechowywany w innym katalogu. Dodanie ich do kontroli źródła spowoduje problemy. Dlatego myślę, że być może powinniśmy zignorować pliki * .iml i.idea/modules.xml

linquize
źródło
Ignoruję oba pliki /.ideai .imlpliki. Chciałbym usłyszeć, dlaczego .ideafolder powinien zostać zatwierdzony .
theblang
Patrząc na mój obecny projekt, myślę, że są tylko 2 rzeczy, które sprawdziłem w ustawieniach stylu kodu .idea /: do wymuszenia dla zespołu oraz słownik użytkownika zawierający słowa specyficzne dla projektu, które nie są prawdziwymi słowami. Zacząłem od zatwierdzenia wielu plików w .idea, ale kiedy plik zaczyna się wyświetlać jako zmieniony bez wyraźnego powodu, zostanie dodany do .gitignore. Miałem na myśli nie tyle to, że .idea powinien być zalogowany, co miano powiedzieć, że pliki .iml i moduły.xml nie powinny.
Przepraszam, SO wziął mój komentarz, zanim go skończyłem (pamiętaj, że komentarze nie akceptują podziałów linii). Edytowane z resztą moich myśli.
Dzięki! Tak, wspomniane pliki mają sens. Zgadzam się, największym bólem głowy były library.xmlpliki, które ciągle wyzwalały wiadomości. Ponadto nie rozumiem, dlaczego wciąż widzę, jak ludzie mówią, że pliki * .iml powinny zostać dołączone, więc warto o tym wspomnieć.
theblang
8

Testowane z Android Studio 3.0

Może być konieczne zainstalowanie .ignore wtyczki .

Możesz automatycznie wygenerować plik .gitignore dla Androida. Kliknij folder prawym przyciskiem myszy i śledź

Dodaj plik .gitignore

Następnie wybierz Android z lewego panelu i kliknij Generuj

Wygeneruj plik .gitignore

Android Studio wygeneruje plik .gitignore, który zawiera cały plik, który należy zignorować.

Zaczerpnięte z http://menukanows.com/how-to-add-gitignore-file-in-android-project/

Menuka Ishan
źródło
7

Zależy od sposobu utrzymania formatu projektu:

Masz dwie opcje:

  1. Format oparty na katalogu (będziesz mieć .idea katalogu folder zawierający pliki specyficzne dla projektu)
  2. Format oparty na plikach (pliki konfiguracyjne to .iwsi .ipr)

Ref: http://www.jetbrains.com/idea/webhelp/project.html

Pliki przeznaczone do kontroli wersji zależą od powyższego:

  1. Dołącz folder .idea do kontroli wersji, wyklucz workspace.xml i tasks.xml
  2. .iprPlik kontroli wersji i wszystkie .imlpliki modułów wykluczają .iwsplik, ponieważ przechowuje on ustawienia specyficzne dla użytkownika.

Patrz: https://intellij-support.jetbrains.com/entries/23393067

ramk
źródło
1
wydaje się, że wszystkie moje projekty zawierają zarówno foldery .idea, jak i .iws
szacunek TheCode
1
Osobiście próbowałem postępować zgodnie z radami JetBrains, ale to nie zadziałało. Ja i inny programista korzystamy z Android Studio, a my mieliśmy plik .idea i .iml w git. Wkrótce dowiedziałem się, że gdy zaczniesz scalać zatwierdzenia i będziesz mieć do czynienia z wieloma problemami, gdy narzędzie scalające nie scali żadnego z plików w ścieżce .idea. W rezultacie dodałem wszystkie imls i .idea do gitignore. W końcu Studio wykonuje bardzo dobrą robotę, tworząc strukturę projektu podczas importowania projektu Gradle. Więc teraz zwracam baczną uwagę na to, co mam w moich plikach ocen.
zmicer
5

Zasadniczo każdy plik jest automatycznie regenerowany.

Dobrym testem jest sklonowanie repozytorium i sprawdzenie, czy Android Studio jest w stanie natychmiast zinterpretować i uruchomić projekt (generując to, czego brakuje).
Jeśli nie, znajdź to, czego brakuje, i upewnij się, że nie jest ignorowane, ale dodane do repozytorium.

Biorąc to pod uwagę, możesz wziąć przykład z istniejących .gitignoreplików, takich jak Android .

# 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

# Eclipse project files
.classpath
.project

# Proguard folder generated by Eclipse
proguard/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/
VonC
źródło
11
To jest niepoprawne. Powinieneś sprawdzić swoje pliki * .iml, a najprawdopodobniej również .idea i * .ipr. Część „wszystko, co jest automatycznie generowane” jest szczególnie błędna. W końcu większość projektów na Androida jest generowana automatycznie.
Sky Kelsey,
6
* .Iml, * .idea i * .ipr są specyficzne dla Androida-Studio / IntelliJ. Oni są nie potrzebne do budowania projektu. Ponieważ są one specyficzne dla IDE, a nie dla łańcucha kompilacji, prawdopodobnie nie powinny być rejestrowane. Każdy może korzystać z dowolnego IDE, nie ma powodu, aby sprawdzać pliki projektów IntelliJ, a nie na przykład Eclipse.
Marc Plano-Lesay
2
Jeśli chcesz pracować na wielu rozwidleniach tego samego projektu lub z zespołem, w którym wszyscy używają tego samego IDE, lub masz kontrolę wersji skomplikowanych ustawień używanych w twoim IDE, to tak, powinieneś sprawdzić pliki. Pliki projektu dla IntelliJ są czymś więcej niż zwykłym puchem używanym do otwierania kodu w edytorze.
Sky Kelsey,
2
dlaczego moje pliki IML są wyświetlane jako zmienione między mną a moim współpracownikiem? konkretnie external.root.project.path ciągle się zmienia pod znacznikiem <module />
Sam
Korzystając z Androida Studio 0.8.12 w systemie Windows 8.1 i OS X Mavericks z tym samym projektem, zauważam, że następujące dwa pliki zostają zmodyfikowane i oznaczone jako zmienione przez Git po otwarciu projektu: <nazwa projektu> .iml i .idea \ misc.xml. W szczególności: <excludeFolder url = "plik: // $ MODULE_DIR $ / build / tmp" /> zostaje dodany lub usunięty do / z <nazwa projektu> .iml i .idea \ misc.xml zostaje zmieniony na odpowiednie różnice w instalacji JDK między OS.
jkwuc89
4

Jestem koszerny w dodawaniu plików .iml i Intellij sez, aby dodać folder .idea, ale ignoruję .idea / workspace.xml i .idea / tasks.xml, ale co z .idea / libraries /?

Nie widzę sensu, aby to dodawać. Zawiera listę plików XML z listami bibliotek, o których projekt Android Studio powinien wiedzieć. Powinny one pochodzić ze zdefiniowanych zależności build.gradle - nie z pliku projektu IDE.

Również zawartość jednego z tych plików wygląda następująco:

<component name="libraryTable">
    <CLASSES>
       <root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.example/example/etc...jar!"/>

To nie ma sensu. Co się stanie, jeśli użytkownik określi inny katalog domowy dla klasy lub użyje innej wersji klasy, ścieżkę poniżej.gradle/caches/artifacts-xxx dla nich będzie inna dla nich (tj artifacts-. Liczba dołączona na końcu będzie odnosić się do używanego wydania wersji gradle). ) Ścieżki te nie są uniwersalne, a jednak rada polega na sprawdzeniu tego wszystkiego?

zenocon
źródło
4

Począwszy od Androida Studio 0.8.4 .gitignoreplik jest generowany automatycznie przy rozpoczynaniu nowego projektu. Domyślnie zawiera:

.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
Johnny Doe
źródło
3

Wiem, że to stary temat i na pewno jest wiele opcji, ale naprawdę wolę giboSimona Whitakera. Jest bardzo prosty w użyciu, wieloplatformowy (Mac, * Nix i Windows) i używa gitignorerepozytorium github, dzięki czemu jest (w zasadzie) zawsze aktualny.

Upewnij się, że Twoja lokalna pamięć podręczna jest aktualna:

    $ gibo --upgrade
    From https://github.com/github/gitignore
     * branch            master     -> FETCH_HEAD
    Current branch master is up to date.

Wyszukaj potrzebny język / technologię:

    $ gibo --search android
    Android

Wyświetl plik .gitignore:

    $ 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

Teraz dołącz go do pliku .gitignore swojego projektu:

    $ gibo Android >> .gitignore

(Upewnij się, że używasz, >>aby dołączyć do pliku .gitignore projektu; jeden> nadpisze go - tak jak robiłem to wielokrotnie!)

Wiem, że to nie odpowiada na dokładne pytanie OP, ale korzystanie z gibo sprawia, że ​​właściwie nie musisz już myśleć o „pytaniu”! .. to miłe! ;)

wasatchwizard
źródło
3

Aby uzyskać lepszy pomysł, potrzebujesz tylko następujących plików

  • app
  • build.gradle
  • settings.gradle

Podstawowa struktura projektu Androida

Możesz umieścić wszystko inne w pliku .gitignore. Wszystkie zmiany aplikacji dotyczą głównie tych plików i folderów. Reszta, którą widzisz w podstawowym projekcie, to pliki kompilacji stopniowej lub pliki konfiguracyjne Android Studio.

Jeśli korzystasz z Android Studio, możesz użyć „Importuj projekt”, aby pomyślnie zbudować projekt. Alternatywnie możesz budować za pomocą wiersza poleceń, postępuj zgodnie z instrukcjami Budowanie projektów Androida za pomocą Gradle .

kalan nawarathne
źródło
3

Najlepiej jest dodać listę .gitignore do czasu opracowania, aby zapobiec nieznanym skutkom ubocznym, gdy Kontrola wersji nie działa z jakiegoś powodu z powodu wstępnie zdefiniowanej listy (kopiuj / wklej). W przypadku jednego z moich projektów lista ignorowanych obejmuje tylko:

.gradle
.idea
libs
obj
build
*.log
Tim Long
źródło
3

Github utrzymuje przydatne elementy gitignore do różnego rodzaju projektów. Oto lista przydatnych elementów gitignore dla projektów na Androida.

# 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 w github

Sudip Bhandari
źródło
3
Chociaż ten link może odpowiedzieć na pytanie, lepiej dołączyć tutaj istotne części odpowiedzi i podać link w celach informacyjnych. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie. - Z recenzji
imtheman
@imtheman realny. Zaktualizowałem odpowiedź i umieściłem link jako odniesienie
Sudip Bhandari
2

Scalam pliki Gitub .gitignore

### 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

Proszę przeczytać: Wsparcie JetBrains: Jak zarządzać projektami w systemach kontroli wersji

d.danailov
źródło
2
Od 2016 roku podążam za odpowiedzią najbardziej zbliżoną do naszych potrzeb. Dzięki
Henrique de Sousa
2

Korzystając z interfejsu API dostarczonego przez gitignore.io , możesz uzyskać jest generowany automatycznie. Oto bezpośredni link również gitignore.io/api/androidstudio

### AndroidStudio ###
# Covers files to be ignored for android development using Android Studio.

# Built application files
*.apk
*.ap_

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle
.gradle/
build/

# Signing files
.signing/

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

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio
/*/build/
/*/local.properties
/*/out
/*/*/build
/*/*/production
captures/
.navigation/
*.ipr
*~
*.swp

# Android Patch
gen-external-apklibs

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

# NDK
obj/

# IntelliJ IDEA
*.iml
*.iws
/out/

# User-specific configurations
.idea/caches/
.idea/libraries/
.idea/shelf/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
.idea/datasources.xml
.idea/dataSources.ids
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
.idea/assetWizardSettings.xml

# OS-specific files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Legacy Eclipse project files
.classpath
.project
.cproject
.settings/

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.war
*.ear

# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
hs_err_pid*

## Plugin-specific files:

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Mongo Explorer plugin
.idea/mongoSettings.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

### AndroidStudio Patch ###

!/gradle/wrapper/gradle-wrapper.jar

# End of https://www.gitignore.io/api/androidstudio
Daniyal Javaid
źródło
1

Począwszy od Androida Studio 0.8.4 plik .gitignore jest generowany automatycznie podczas uruchamiania nowego projektu. Domyślnie zawiera:

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

Zgadzam się z tym stwierdzeniem, jednak modyfikuję ten plik, aby zmienić / build na build / (Obejmuje to / build i / app / build) Więc nie skończę z wszystkimi plikami w app / build w moim repozytorium.

Zauważ też, że jeśli zaimportujesz projekt z Eclipse, plik .gitignore nie zostanie skopiowany lub utworzony dla ciebie „automatycznie”.

guyland123
źródło
0

Kompilacja:

#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/
Aqib Mumtaz
źródło
0

Aby obejść import wszystkich plików, w których Android Studio ignoruje listę „Ignorowane pliki”, ale nadal korzystam z Android Studio VCS, zrobiłem co następuje: Użyję listy „Ignorowane pliki” z Android Studio (po zaimportowaniu! Nie podczas) ORAZ unikaj konieczności używania nieporęcznego sposobu, w jaki Tortoise SVN ustawia listę svn: ignore.

  1. Użyj przeglądarki repozytorium Tortoise SVN, aby utworzyć nowy folder projektu bezpośrednio w repozytorium.
  2. Użyj Tortoise SVN, aby pobrać nowy folder na górze folderu, który chcesz zaimportować. Otrzymasz ostrzeżenie, że folder lokalny nie jest pusty. Zignoruj ​​ostrzeżenie. Teraz masz wersjonowany folder najwyższego poziomu z niewersjonowaną zawartością.
  3. Otwórz swój projekt z lokalnego katalogu roboczego. VCS powinien być teraz włączony automatycznie
  4. Ustaw wyjątki dla plików w Plik -> Ustawienia -> Kontrola wersji -> Ignorowane pliki
  5. Dodaj pliki do SVN z Android Studio: wybierz „App” w Strukturze projektu -> VCS -> Dodaj do VCS (spowoduje to dodanie wszystkich plików oprócz „Ignorowanych plików”)
  6. Zatwierdź zmiany

W przyszłości „Ignorowane pliki” będą ignorowane i nadal możesz zarządzać VCS z Android Studio.

Pozdrawiam, Joost

Joost
źródło
0

Android Studio 3.5.3

Używam tego do moich bibliotek i projektów i obejmuje większość plików generowanych przez studio Android i inne znane narzędzia:

# Built application files
*.apk
*.ap_
*.aab

# Files for the ART/Dalvik VM
*.dex

# Generated files
bin/
gen/
out/
app/release/

# Gradle files
.gradle/
build/

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

# 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 lines if you do not want to check your keystore files in.
#*.jks
#*.keystore

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

# Freeline
freeline.py
freeline/
freeline_project_description.json

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

#NDK
*.so
Squti
źródło
0

Zostało to utworzone przy użyciu odniesienia z http://gitignore.io/ Gdzie można utworzyć najnowszy zaktualizowany plik gitignore dla dowolnego projektu. Dla Androida http://gitignore.io/api/androidstudio . Mam nadzieję że to pomoże. Obecnie korzystam z Android Studio 3.6.3

# Created by https://www.gitignore.io/api/androidstudio
# Edit at https://www.gitignore.io/?templates=androidstudio

### AndroidStudio ###
# Covers files to be ignored for android development using Android Studio.

# Built application files
*.apk
*.ap_

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle
.gradle/
build/

# Signing files
.signing/

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

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio
/*/build/
/*/local.properties
/*/out
/*/*/build
/*/*/production
captures/
.navigation/
*.ipr
*~
*.swp

# Android Patch
gen-external-apklibs

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

# NDK
obj/

# IntelliJ IDEA
*.iml
*.iws
/out/

# User-specific configurations
.idea/caches/
.idea/libraries/
.idea/shelf/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
.idea/datasources.xml
.idea/dataSources.ids
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
.idea/assetWizardSettings.xml

# OS-specific files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Legacy Eclipse project files
.classpath
.project
.cproject
.settings/

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.war
*.ear

# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
hs_err_pid*

## Plugin-specific files:

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Mongo Explorer plugin
.idea/mongoSettings.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

### AndroidStudio Patch ###

!/gradle/wrapper/gradle-wrapper.jar

# End of https://www.gitignore.io/api/androidstudio
Vinodh Ram
źródło
-1

Ta oficjalna dokumentacja od JetBrains Support mówi, że należy uwzględnić następujące elementy:

All files under .idea directory except workspace.xml and tasks.xml because
    they store specific user settings
All the *.iml files that can be located in different module directories

Podaje także inne zalecenia dotyczące rzeczy, na które należy uważać.

wyciągnięty
źródło
1
Dlaczego to odrzucono? Głosy w dół bez wyjaśnienia są najgorszą rzeczą w SO.
ściągnął
-1

.gitignore z biblioteki AndroidRate

# 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
Alexander Savin
źródło
-1

https://github.com/github/gitignore to niesamowita kolekcja

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
skorupiak
źródło