สิ่งที่ควรเป็นใน. gitignore ของฉันสำหรับโครงการ Android Studio


1255

ไฟล์ใดควรอยู่ในของฉัน.gitignoreสำหรับโครงการ Android Studio

ฉันเคยเห็นตัวอย่างหลายอย่างที่รวมอยู่ทั้งหมด.imlแต่เอกสาร IntelliJ บอกว่า.imlต้องรวมอยู่ในการควบคุมแหล่งที่มาของคุณ


คำตอบ:


1330

อัปเดตเป็น Android Studio 3.0 โปรดแบ่งปันรายการที่หายไปในความคิดเห็น

คำตอบที่ล่าช้า แต่ไม่มีคำตอบที่นี่และที่นี่ถูกกับเงินสำหรับเรา ...

ดังนั้นนี่คือไฟล์ 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

ตั้งแต่ Android Studio 2.2 และสูงกว่า 3.0 โครงการใหม่จะถูกสร้างขึ้นด้วยไฟล์ gitignore นี้:

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

เลิกใช้แล้ว - สำหรับรูปแบบโครงการที่เก่ากว่าเพิ่มส่วนนี้ในไฟล์ gitignore ของคุณ:


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

ไฟล์นี้ควรอยู่ในโฟลเดอร์รูทของโครงการและไม่อยู่ในโฟลเดอร์โมดูลของโครงการ

แก้ไขหมายเหตุ:

  1. ตั้งแต่เวอร์ชัน 0.3+ ดูเหมือนว่าคุณสามารถคอมมิชชันและผลักดันไฟล์* .imlและbuild.gradle หากโครงการของคุณเป็นแบบ Gradle: ในกล่องโต้ตอบ open / import ใหม่คุณควร"use auto import"ทำเครื่องหมายที่ช่องทำเครื่องหมายและทำเครื่องหมาย"use default gradle wrapper (recommended)"ปุ่มตัวเลือก เส้นทางทั้งหมดมีความสัมพันธ์กันตามที่แนะนำ @George

  2. อัปเดตคำตอบตามแหล่งที่แนบมา @ 128KB และคำแนะนำ @Skela


8
ทำไมเราต้องนำเข้าโครงการและเพิ่ม libs และการพึ่งพาโมดูลด้วยตนเอง มีวิธีใดที่จะรักษาสิ่งเหล่านั้นไว้ใน repo และเมื่อเราโคลน repo เพียงแค่เปิดโครงการ?
Justin

13
วิธีที่เหมาะสมในการทำเช่นนี้คือตรวจสอบในไฟล์ * .iml และ * .ipr และเปิดไฟล์เหล่านั้นใน IDE เหตุใดจึงบังคับให้บุคคลอื่นในทีมของคุณสร้างไฟล์เหล่านี้และทำไมอนุญาตให้พวกเขาใช้การตั้งค่าที่ไม่ถูกต้อง (เช่นรุ่น sdk)
Sky Kelsey

26
@liorry ฉันไม่เห็นด้วย นี่เป็นคำตอบแรกที่คนอื่นจะเห็นและมันได้รับการโหวตอย่างหนาแน่น เนื่องจากทุกสิ่งที่คุณต้องทำเพื่อให้โครงการเริ่มต้นและทำงานหลังจากโคลนใหม่จากคอมไพล์โดยใช้. gignignore นี้โดยเฉพาะฉันรู้สึกอย่างยิ่งว่านี่ไม่ใช่สิ่งที่คนส่วนใหญ่ต้องการ แม้ว่าฉันจะเดาว่าจำนวนของการโหวตเพิ่มขึ้นจะบอกฉันเป็นอย่างอื่น แต่ฉันก็ยังไม่เห็นด้วย อย่างน้อยที่สุดบางทีข้อมูลบางอย่างที่ระบุว่าคุณน่าจะต้องตั้งโครงการอีกครั้งและมันจะไม่ทำงานนอกกรอบ
Skela

10
@liorry ฉันไม่ได้ตั้งใจที่จะหยาบคายหรือเพื่อนอะไรโปรดอย่าใช้มันเป็นการส่วนตัว ปัญหาคือสิ่งเหล่านี้จำเป็นต้องทำงานด้วยการตั้งค่าจำนวนน้อยที่สุดเพื่อการใช้งานจริง เมื่อคุณต้องการนำเข้าโครงการและเพิ่มการพึ่งพาโมดูลด้วยตนเองมันจะเข้าสู่ขอบเขตของความบ้าคลั่งทันที เมื่อคุณคุ้นเคยกับโครงการและรู้ว่าสิ่งเหล่านี้เป็นสิ่งที่อยู่ภายในนั้นก็ไม่มีปัญหากับวิธีการของคุณ แต่สำหรับนักพัฒนาซอฟต์แวร์ที่กำลังโคลนโครงการเป็นครั้งแรกมันไม่ได้ใช้งานได้จริง ฉันแค่พยายามทำให้แน่ใจว่าวิธีการของคุณไม่ได้กลายเป็นเรื่องปกติ
Skela

14
คุณไม่ควรรุ่น.imlไฟล์ยกเว้นว่าคุณไม่ต้องการจัดการกับสิ่งรบกวนที่ไม่จำเป็นหากผู้ใช้รายอื่นตั้งชื่อโครงการแตกต่างกันเมื่อตรวจสอบ
theblang

151

การสร้างบน. gitignore Android ปกติของฉันและหลังจากอ่านเอกสารในเว็บไซต์ Intellij IDEA และอ่านโพสต์บน StackOverflow ฉันได้สร้างไฟล์ต่อไปนี้:

# 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

โปรดทราบด้วยว่าส่วนของไฟล์ในตัวที่สร้างขึ้นนั้นมีประโยชน์หลักเมื่อคุณสร้างรหัสเนทีฟของคุณเองด้วย Android NDK หากในทางตรงกันข้ามคุณกำลังใช้ห้องสมุดบุคคลที่สามที่มีไฟล์เหล่านี้คุณอาจต้องการลบบรรทัดเหล่านี้ (* .o และ * .so) ออกจาก. gitignore ของคุณ


10
เกือบจะถูกแล้ว ฉันไม่คิดว่าเป็นความคิดที่ดีที่จะเพิกเฉย * .so เพราะคุณจะไม่สามารถทำงานกับโครงการที่เชื่อมโยงการพึ่งพาในห้องสมุด NDK แต่เป็นจุดเริ่มต้นที่ดีมากสำหรับทุกบัญชี!
Skela

@Skela จุดที่ดี ฉันมีสิ่งเหล่านี้ตั้งแต่เมื่อฉันสร้างไฟล์เนทีฟของตัวเอง - แต่ฉันก็ทำงานในโครงการที่ต้องใช้การคัดลอกและวางไฟล์ที่สร้างไว้ล่วงหน้า ฉันเพิ่มบันทึกเกี่ยวกับสิ่งนี้ลงในคำตอบข้างต้น
Phil

@Phil คุณมีความคิดเห็นเกี่ยวกับไฟล์ XML .idea/librariesหรือไม่? พวกเขาควรจะแบ่งปันหรือแยกออกจากความคิดเห็นของคุณ?
Alex Lockwood

1
@AlexLockwood ฉันคิดว่าควรรวมไฟล์เหล่านี้หากโครงการไม่ได้ขึ้นอยู่กับโครงการหรือโมดูลอื่น อย่างไรก็ตามหากโปรเจ็กต์นั้นขึ้นอยู่กับโมดูลที่มีไลบรารีดังนั้นไฟล์นี้ควรถูกละเว้นในระดับโปรเจ็กต์ แต่ไม่ใช่โดยโมดูล
Phil

@Phil เจ๋งมากและฉันใช้มันจนถึงตอนนี้ แต่ไฟล์ dex หลุดผ่านรอยแตก: /moduledirectory/build/intermediates/dex-cache/cache.xml - มันไม่สมเหตุสมผลที่จะเพิ่ม ** / build เพื่อ แยกโฟลเดอร์บิลด์ในโมดูลด้วยหรือไม่
Oliver Hausler

82

อัปเดต 7/2015:

นี่คือแหล่งที่มาที่ชัดเจนจาก JetBrains


รูปแบบโครงการที่ใช้ไดเรกทอรี (ไดเรกทอรี .idea)

รูปแบบนี้ถูกใช้โดย IDE รุ่นล่าสุดทั้งหมดโดยค่าเริ่มต้น นี่คือสิ่งที่คุณต้องการแบ่งปัน:

  • ไฟล์ทั้งหมดที่อยู่ภายใต้.ideaไดเรกทอรีรากในโครงการยกเว้นworkspace.xmlและtasks.xmlไฟล์ที่การตั้งค่าเฉพาะผู้ใช้ที่ร้านค้า
  • ทุก.imlไฟล์โมดูลที่สามารถอยู่ในไดเรกทอรีโมดูลที่แตกต่างกัน (ใช้กับ IntelliJ IDEA)

ระมัดระวังเกี่ยวกับการแบ่งปันสิ่งต่อไปนี้:

  • สิ่งประดิษฐ์ Android ที่สร้างบิลด์ที่ลงนามแล้ว (จะมีรหัสผ่านที่เก็บคีย์)
  • ในความคิด 13 และก่อนหน้านี้dataSources.ids, datasources.xmlสามารถมีรหัสผ่านฐานข้อมูล IDEA 14 แก้ปัญหานี้ได้

คุณอาจพิจารณาที่จะไม่แชร์สิ่งต่อไปนี้:

  • ไฟล์ gradle.xml ดูการสนทนานี้
  • โฟลเดอร์พจนานุกรมผู้ใช้ (เพื่อหลีกเลี่ยงข้อขัดแย้งหากผู้พัฒนารายอื่นมีชื่อเดียวกัน)
  • ไฟล์ XML ภายใต้.idea/librariesในกรณีที่สร้างขึ้นจากโครงการGradle

รูปแบบโครงการดั้งเดิม ( .ipr/ .iml/ .iwsไฟล์)

  • แบ่งปันโครงการ.iprไฟล์และทุก.imlไฟล์โมดูลไม่ได้ร่วม.iwsไฟล์ที่มันเก็บการตั้งค่าเฉพาะของผู้ใช้

ในขณะที่คำแนะนำเหล่านี้มีไว้สำหรับ IntelliJ IDEA แต่พวกเขายังคงเป็นจริง 100% สำหรับ Android Studio


นี่คือ.gitignoreตัวอย่างข้อมูลที่รวมกฎข้างต้นทั้งหมด:

# Android Studio / IntelliJ IDEA 
*.iws
.idea/libraries
.idea/tasks.xml
.idea/vcs.xml
.idea/workspace.xml

SDK ที่ได้รับการสนับสนุนมีการกำหนดไว้ใน AndroidManifest.xml (และ Gradle ด้วย) SDK ใด ๆ ที่อนุญาตโดยการตั้งค่านั้นจะต้องโอเคสำหรับการพัฒนา รูปแบบโค้ดที่เกี่ยวข้อง: นี่ไม่ใช่สิ่งที่จะต้องดูแลรักษาในแต่ละโครงการแยกกันและยิ่งไปกว่านั้นมันควรจะมีความชัดเจนโดยไม่ขึ้นกับ IDE ส่วนหัวลิขสิทธิ์: หวังว่าสิ่งเหล่านี้จะอยู่ในฐานรหัสของคุณและไม่ได้อยู่ในไฟล์โครงการ IDE ใด ๆ มิฉะนั้นการสร้าง commandline จะเพียงแค่ไม่รวมพวกเขา ...
Risadinha

@Risadinha 1) SDK ถูกกำหนดในระดับ IDE เช่นกัน มีการอ้างอิงในรายการ แต่ไฟล์โครงการมีข้อกำหนด SDK จริง 2) สไตล์รหัสควรได้รับการดูแลอย่างน้อยในระดับโครงการ เป็นการดีที่ทุกคนจะเขียน Java มาตรฐาน แต่ก็ดี 3) ส่วนหัวลิขสิทธิ์จะถูกเก็บไว้ในโครงการ พวกเขาจะใช้สำหรับการสร้างไฟล์ใหม่และสามารถมีมาโครสำหรับชื่อชื่อ บริษัท โครงการวันที่ ฯลฯ ฉันขอแนะนำให้คุณลองดู! โดยสรุปไฟล์โครงการประกอบด้วยข้อมูลเมตาสำคัญเกี่ยวกับโครงการที่ต้องมีการแบ่งปันและควบคุมทั่วทั้งทีม
Sky Kelsey

3
ดูแลได้ดึงการเปลี่ยนแปลงที่จะซื้อคืนของเขาเอง มันอาจจะถูกดึงเข้าสู่ต้นแบบในไม่ช้า
FalconC

5
JetBrains เลิกใช้ DOC-1186 และใส่คำแนะนำที่ปรับปรุงแล้วลงในโพสต์ใหม่ : DO INCLUDE: ไฟล์ทั้งหมดภายใต้ไดเรกทอรี. aide ในรากโครงการยกเว้น workspace.xml และ task.xml และไฟล์. img ทั้งหมด ระวังให้ดีเมื่อแชร์สิ่งประดิษฐ์ Android ที่สร้างบิลด์ที่ลงชื่อ (จะมีรหัสผ่านที่เก็บคีย์) dataSources.ids และ datasources.xml (อาจมีรหัสผ่าน) การพิจารณาอย่างรอบคอบ: gradle.xml, โฟลเดอร์พจนานุกรมผู้ใช้และไฟล์ XML ภายใต้ .idea / ไลบรารี (ในกรณีที่สร้างขึ้นจากโครงการ Gradle)
JSmitty

2
นั่นเป็นทฤษฎีที่น่ารัก แต่สิ่งนี้ไม่ได้ผลสำหรับเรา เราลงท้ายด้วยไฟล์. img ที่มีรายการดังนี้: <orderEntry type="jdk" jdkName="1.6 (38)" jdkType="JavaSDK" />สังเกตหมายเลข 38 ที่ดูเหมือนจะเพิ่มขึ้นอย่างต่อเนื่อง (ไฟล์ misc.xml ยังมีปัญหานี้ด้วย)
Sam

41

ฉันไม่เห็นด้วยกับคำตอบทั้งหมดเหล่านี้ การกำหนดค่าต่อไปนี้ใช้งานได้ดีสำหรับแอปขององค์กรของเรา

ฉันไม่สนใจ:

  • /build
  • /.idea(มีข้อยกเว้นที่เป็นไปได้ดูความคิดเห็นในคำตอบของ dalewking )
  • *.iml
  • local.properties

/buildผมคิดว่าเกือบทุกคนเห็นพ้องเกี่ยวกับ

ฉันเบื่อที่จะเห็นข้อความเกี่ยวกับlibrary.xmlไฟล์ต่าง ๆที่ Gradle สร้างหรือลบออก/.ideaอย่างต่อเนื่อง build.gradleจะทำงานในนักพัฒนาของท้องถิ่นเมื่อพวกเขาก่อนตรวจสอบโครงการดังนั้นทำไมผู้ไฟล์ XML จะต้องมีการ versioned? Android Studio จะสร้างส่วนที่เหลือ/.ideaเมื่อผู้พัฒนาสร้างโครงการโดยใช้Check out from Version Controlดังนั้นเหตุใดจึงต้องมีรุ่นอะไรในโฟลเดอร์นั้น

หากมีการกำหนด*.imlเวอร์ชันผู้ใช้ใหม่จะต้องตั้งชื่อโครงการให้เหมือนกับที่เคยทำ เนื่องจากนี่เป็นไฟล์ที่สร้างขึ้นด้วยเหตุใดจึงต้องเป็นรุ่นในตอนแรก

local.propertiesจุดไฟล์ไปยังเส้นทางที่แน่นอนในระบบไฟล์สำหรับ SDK ได้จึงแน่นอนไม่ควร versioned

แก้ไข 1 : เพิ่ม.gradleเพื่อละเว้นสิ่งที่แคชไล่ระดับที่ไม่ควรเป็นเวอร์ชัน (ขอบคุณVasily Makarov )

แก้ไข 2 : เพิ่มทันที.DS_Storeที่ฉันใช้ Mac โฟลเดอร์นี้เป็นเฉพาะของ Mac และไม่ควรเป็นรุ่น

หมายเหตุเพิ่มเติม : คุณอาจต้องการเพิ่มไดเรกทอรีเพื่อวางคีย์การลงชื่อเข้าใช้เมื่อสร้างรุ่นวางจำหน่าย

เพื่อความสะดวกในการคัดลอก / วาง :

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

4
ฉันเห็นด้วยกับคำตอบของคุณ ฉันยังเชื่อด้วยว่าไฟล์ * .iml หรือ .idea ไม่ควรเป็นเวอร์ชั่น: stackoverflow.com/a/26290130/2948212
diegosasw

7
คะแนนของฉันสำหรับ gitignore ของคุณเพราะมันเหมือนกับของฉันมาก ข้อเสนอแนะคู่: ใช้build/แทน/buildเพื่อให้ตรงกับการสร้าง dirs app/buildโมดูลเช่น ใช้.gradleเพื่อจับคู่ไดเรกทอรีแคช gradle
Vasily Makarov

ฉันยังถามว่าทำไมรายการ gitignore เริ่มต้น / สร้างแทนที่จะสร้าง / ฉันลงท้ายด้วยไฟล์ทั้งหมดในแอพ / สร้างในที่เก็บของฉันถ้าฉันใช้ / build
guyland123

@ guyland123 ฉันเพิ่งสังเกตเห็นว่าฉันมี.gitignoreไฟล์อื่นในไดเรกทอรีแอพที่มี/buildอยู่ด้วย สร้างอัตโนมัตินี้ฉันจำไม่ได้? ดังนั้นbuild/จะใช้กับโฟลเดอร์ย่อยหรือไม่
theblang

@mattblang ใช่. gitignore ถูกสร้างขึ้นโดยอัตโนมัติเมื่อคุณสร้างโครงการใหม่ มันไม่ได้ถูกสร้างขึ้นเมื่อคุณนำเข้าโครงการจาก say Eclipse บิลด์ / จะจับคู่ไดเรกทอรีทั้งหมดที่ชื่อ "บิลด์" ใต้ตำแหน่งของไฟล์. gitignore เช่น. แอพ / บิลด์จะถูกละเว้น
guyland123

37

ฉันใช้. gignignore นี้ ฉันพบมันได้ที่: http://th4t.net/android-studio-gitignore.html

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

*/build/

*~
*.swp

1
* / build / ไม่ได้เพิกเฉยต่อไฟล์ที่ไม่เปลี่ยนแปลงในไดเร็กทอรี build ของฉัน ความคิดใด ๆ @ แก้ไขแล้ว: ฉันต้องเพิ่ม * / * / build / เนื่องจากโฟลเดอร์ build ของฉันเป็นไดเรกทอรีบางส่วน
speedynomads

35

ในกรณีของ Android Studio ไฟล์ที่จำเป็นเท่านั้นที่ต้องบันทึกในการควบคุมเวอร์ชันคือไฟล์ที่จำเป็นในการสร้างแอปพลิเคชันจากบรรทัดคำสั่งโดยใช้การไล่ระดับเสียง ดังนั้นคุณสามารถละเว้น:

  • * .iml
  • .idea
  • สร้าง

อย่างไรก็ตามหากคุณบันทึกการตั้งค่า IDE ใด ๆ เช่นการตั้งค่ารูปแบบรหัสที่กำหนดเองพวกเขาจะได้รับการบันทึกไว้ในโฟลเดอร์ .idea หากคุณต้องการการเปลี่ยนแปลงเหล่านั้นในการควบคุมเวอร์ชันคุณจะต้องบันทึกไฟล์ IDEA ด้วย (* .iml และ .idea)


3
ขอบคุณที่อธิบายว่า จากสิ่งที่ฉันได้อ่านถ้าคุณกำลังจะรวม. ภูมิภาคในโครงการของคุณคุณควรละเว้น * /. idea / workspace.xml และ * /. idea / task.xml
respectTheCode

15
อย่าเพิกเฉยโฟลเดอร์. taa สำหรับตอนนี้ ปลั๊กอิน Gradle ยังไม่มีงาน 'แนวคิดไล่ระดับสี' และการนำเข้าโครงการใน Android Studio นั้นยังห่างไกลจากความสมบูรณ์แบบในตอนนี้
robotoaster

2
นอกจากนี้หากคุณกำลังทำงานในทีมพิจารณาละเว้น local.properties เพราะมันมีเส้นทาง sdk hardcoded
Calin

@robotoaster คุณจะยังคงไม่แนะนำให้เพิกเฉยกับโฟลเดอร์ .idea หรือไม่?
loeschg

@Ioeschg ไม่ต้องการอีกต่อไป ถ้าคุณเช็คเอาต์ทำความสะอาด git repo ใช้นำเข้าโครงการใหม่และควรจะทำงานได้ดีตราบใดที่มีไฟล์บิลด์อยู่
robotoaster

20

Android Studio 3.4

หากคุณสร้างโครงการ Gradle โดยใช้ Android Studio .gitignoreไฟล์จะมีสิ่งต่อไปนี้:

.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

ฉันขอแนะนำให้ละเว้นไดเรกทอรี ".idea" ที่สมบูรณ์เนื่องจากมีการกำหนดค่าเฉพาะผู้ใช้ไม่มีอะไรสำคัญสำหรับกระบวนการสร้าง

โฟลเดอร์โครงการ Gradle

สิ่งเดียวที่ควรอยู่ในโฟลเดอร์โครงการ (Gradle) ของคุณหลังจากการโคลนที่เก็บคือโครงสร้างนี้ (อย่างน้อยสำหรับกรณีการใช้งานที่ฉันพบจนถึงตอนนี้):

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

ขอแนะนำให้เช็คอินสคริปต์ wrapper ของ gradle (ดูที่นี่ )

ในการทำให้ไฟล์ Wrapper พร้อมใช้งานสำหรับนักพัฒนาคนอื่น ๆ และสภาพแวดล้อมในการทำงานคุณจะต้องตรวจสอบไฟล์เหล่านั้นในการควบคุมเวอร์ชัน


1
ทำไมคุณควรเก็บไบนารีเช่น gradlew และ gradle.bat
Bilthon

2
@Bilthon พวกเขาไม่ใช่ไบนารี เป็นสคริปต์เริ่มต้นใช้งาน gradle สำหรับ Windows (gradle.bat) และ Linux (gradlew)
Willi Mentzel

โอ้ .. ฉันเห็นว่าคุณพูดถูก แต่พวกเขาก็ไม่ได้สร้างระบบอัตโนมัติเลยเหรอ?
Bilthon

2
@Bilthon แน่นอนพวกเขาเป็น! พวกเขาถูกสร้างขึ้นด้วยตัวเลือกเริ่มต้น หากคุณเปลี่ยนบางอย่างควรรวมไว้ในที่เก็บของคุณเพื่อสร้างอย่างถูกต้องเมื่อตรวจสอบความสดใหม่ พวกมันมีขนาดเล็กมากมันไม่เจ็บที่จะรักษาพวกมันไว้ตลอดเวลา
Willi Mentzel

2
นอกจากนี้ให้ตรวจสอบแหล่งข้อมูลอย่างเป็นทางการที่นี่ซึ่งแนะนำให้กระทำสคริปต์ Gradle wrapper เพื่อควบคุมแหล่งที่มาอย่างชัดเจน: docs.gradle.org/current/userguide/…
Friederbluemle

19

คำแนะนำของฉันก็คืออย่าละเลยโฟลเดอร์. taa

ฉันได้นำเข้าโครงการ Eclipse จาก Git ไปยัง Android Studio และไม่เป็นไร ต่อมาฉันต้องการนำเข้าโครงการนี้ด้วย Git (เหมือนครั้งแรก) ไปยังเครื่องอื่นด้วย Android Studio แต่นั่นก็ไม่ได้ผล Android Studio โหลดไฟล์ทั้งหมด แต่ไม่สามารถ "เห็น" โครงการเป็นโครงการ ฉันสามารถเปิดไฟล์ Git ได้เท่านั้น

ในขณะที่นำเข้าโครงการเป็นครั้งแรก (จาก Eclipse ไปยัง Android Studio). gitignore เก่าของฉันถูกเขียนทับและโครงการใหม่มีลักษณะดังนี้:

  • .idea / .name
  • .idea / compiler.xml
  • .idea / ลิขสิทธิ์ / profiles_settings.xml
  • .idea / encodings.xml
  • .idea / ห้องสมุด / libs.xml
  • .idea / misc.xml
  • .idea / modules.xml
  • .idea / ขอบเขต / scope_settings.xml
  • .idea / vcs.xml
  • .idea / workspace.xml

ดังนั้นฉันพยายามใช้ gitignore ที่ว่างเปล่าและตอนนี้ก็ใช้งานได้ Android Studio อื่น ๆ สามารถโหลดไฟล์และโครงการได้ ฉันเดาว่าไฟล์บางไฟล์นั้นไม่สำคัญ(profiles_settings.xml)สำหรับ Git และการนำเข้า แต่ฉันก็ดีใจที่มันใช้ได้


จากgithub.com/joeblau/gitignore.io/issues/ … : erge Baranov (IntelliJ) 26 ก.ย. , 14:23 น. มันจะขึ้นอยู่กับโครงการ หากโครงการนำเข้าจาก Maven หรือ Gradle ไฟล์. iml จะถูกสร้างขึ้นโดยอัตโนมัติและอาจไม่ถูกใช้ร่วมกันมิฉะนั้นไฟล์เหล่านี้จำเป็นสำหรับโครงการและจะต้องแชร์เพื่อให้ผู้ใช้รายอื่นสามารถเปิดโครงการหลังจากชำระเงิน ไฟล์. iml มีข้อมูลทั้งหมดเกี่ยวกับการกำหนดค่าโมดูล (รูท, โฟลเดอร์ต้นทาง, การอ้างอิง ฯลฯ )
Adrian Romanelli

9

มันเป็นวิธีที่ดีที่สุดในการสร้าง.gitignoreผ่านที่นี่


1
ฉันไม่สามารถใช้งานได้กับ Android Studio ถ้าฉันเลือก "android" ดูเหมือนว่าเป็นการใช้ Eclipse ฉันทำผิดหรือเปล่า?
zipzit

การกล่าวถึง Eclipse เพียงอย่างเดียวอยู่ในหนึ่งบรรทัด: "โฟลเดอร์ Proguard ที่สร้างโดย Eclipse" ส่วนที่เหลือดูเหมือนว่าตกลงสำหรับ AS
Jose_GD

@zipzit เป็นไปได้ว่าคุณพูดถูก ดูเหมือนว่าเว็บไซต์จะสร้าง. gitignore ไม่ใช่สำหรับ Android Studio เนื่องจากไม่มี. aide /
CoolMind

1
มีตัวเลือก Android Studio ด้วย
Daniyal Javaid

8

ไม่จำเป็นต้องเพิ่มตัวควบคุมแหล่งข้อมูลใด ๆ ต่อไปนี้:

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

ดังนั้นคุณสามารถกำหนดค่า hgignore หรือ gitignore ได้

ครั้งแรกที่นักพัฒนาโคลนการควบคุมซอร์สสามารถไปที่:

  1. เปิด Android Studio
  2. โครงการนำเข้า
  3. เรียกดู build.gradle ภายในที่เก็บโคลนและเปิด

นั่นคือทั้งหมดที่

PS: Android Studio จากนั้นจะได้รับปลั๊กอิน gradle สมมติว่า build.gradle ของคุณมีลักษณะเช่นนี้:

// 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 จะสร้างเนื้อหาของโฟลเดอร์ .idea (รวมถึง workspace.xml ซึ่งไม่ควรอยู่ในการควบคุมแหล่งที่มาเพราะมันถูกสร้างขึ้น ) และโฟลเดอร์. gradle

วิธีนี้เป็นมิตรกับ Eclipse ในวิธีที่การควบคุมแหล่งข้อมูลไม่ทราบอะไรเกี่ยวกับ Android Studio Android Studio ต้องการเพียง build.gradle เพื่อนำเข้าโครงการและสร้างส่วนที่เหลือ


5
พวกผู้ที่ลงคะแนนเสียงในทางลบควรให้เหตุผลที่ถูกต้องในการทำเช่นนั้น การแจ้งให้เรา / ทุกคนทราบว่าเราเข้าใจผิดกับคำตอบของเราหรือไม่
diegosasw

1
There is NO NEEDใช่มีบางกรณีเช่นเทมเพลตลิขสิทธิ์ที่ต้องแชร์กับสมาชิกในทีม
Henrique de Sousa

8

ฉันสนับสนุนการยอมรับโฟลเดอร์ .idea (ไม่รวมworkspace.xmlและtasks.xml) แต่ฉันเริ่มที่จะสรุปว่าไฟล์. iml ควรถูกละเว้น

นี่คือปัญหา:

เปิดโครงการในไดเรกทอรีชื่อ "foo" และคุณจะได้รับ foo.iml และดูเหมือนว่าจะดีและดี ปัญหาคือถ้าฉันเปลี่ยนชื่อไดเรกทอรีเป็น foo2 (หรือโคลนเป็นชื่อไดเรกทอรีอื่น) เมื่อคุณพยายามเปิดโครงการใน Android Studio คุณจะได้รับสามสิ่ง:

  • ไฟล์ iml ใหม่ชื่อ foo2.iml
  • ไฟล์ iml สำหรับโครงการ Android ของคุณจะเปลี่ยนเป็นชี้ไปที่ foo2 เป็นพาเรนต์ของมัน
  • .idea / modules.xml จะมีการเพิ่มบรรทัดสำหรับ foo2.iml ดังนั้นจึงมีทั้งไฟล์ iml เก่าและอีกอันสำหรับไดเรกทอรีใหม่

ฉันไม่สามารถป้องกันไม่ให้ Android Studio ทำการสร้างไฟล์ iml นี้เมื่อโครงการถูกเก็บไว้ในไดเรกทอรีอื่น การเพิ่มลงในแหล่งควบคุมจะทำให้เกิดปัญหา ดังนั้นฉันคิดว่าบางทีเราควรละเว้นไฟล์ * .iml และ.idea/modules.xml


ฉันไม่สนใจทั้งไฟล์/.ideaและ .imlฉันอยากได้ยินว่าเหตุใด.ideaโฟลเดอร์จึงควรส่ง
theblang

ดูโครงการปัจจุบันของฉันฉันเดาว่ามีเพียง 2 สิ่งที่ฉันได้เช็คอินจาก. aide /: การตั้งค่ารูปแบบโค้ดเพื่อบังคับใช้สำหรับทีมงานและพจนานุกรมผู้ใช้ที่มีคำเฉพาะสำหรับโครงการที่ไม่ใช่คำจริง ฉันเริ่มด้วยไฟล์หลายไฟล์ใน. ada ที่คอมมิชชัน แต่เมื่อไฟล์เริ่มแสดงขึ้นเมื่อมีการเปลี่ยนแปลงโดยไม่มีเหตุผลที่ดีมันจะถูกเพิ่มใน. gitignore จุดของฉันไม่มากที่ควรตรวจสอบ. taa ตามที่บอกว่าไฟล์. iml และ modules.xml ไม่ควรเป็น

ขออภัยดังนั้นความคิดเห็นของฉันก่อนที่ฉันจะทำมัน (ต้องจำไว้ว่าความคิดเห็นไม่ยอมรับการขึ้นบรรทัดใหม่) แก้ไขด้วยส่วนที่เหลือในความคิดของฉัน

ขอบคุณ! ใช่ไฟล์เหล่านั้นที่คุณพูดถึงเหมาะสมแล้ว ฉันเห็นด้วยสิ่งที่ปวดหัวที่สุดคือlibrary.xmlไฟล์ที่เก็บข้อความไว้ นอกจากนี้ฉันไม่เข้าใจว่าทำไมฉันจึงเห็นคนพูดว่าควรรวมไฟล์ * .iml ไว้ด้วย
theblang

8

ทดสอบกับ Android Studio 3.0

คุณอาจต้องติดตั้งปลั๊กอิน . ignore

คุณสามารถสร้างไฟล์. gitignore อัตโนมัติสำหรับ Android คลิกขวาที่โฟลเดอร์แล้วทำตาม

เพิ่มไฟล์. gignignore

จากนั้นเลือก Android จากแผงด้านซ้ายแล้วคลิกสร้าง

สร้างไฟล์. gitignore

Android Studio จะสร้างไฟล์. gitignore ซึ่งมีไฟล์ทั้งหมดที่ต้องเพิกเฉย

นำมาจากhttp://menukanows.com/how-to-add-gitignore-file-in-android-project/


7

ขึ้นอยู่กับวิธีรักษารูปแบบโครงการของคุณ:

คุณมีสองทางเลือก:

  1. รูปแบบตามไดเรกทอรี (คุณจะมี.ideaโฟลเดอร์ที่มีไฟล์เฉพาะโครงการ)
  2. รูปแบบไฟล์ (ไฟล์กำหนดค่าเป็น.iwsและ.ipr)

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

ไฟล์ที่มุ่งมั่นที่จะควบคุมเวอร์ชันขึ้นอยู่กับด้านบน:

  1. รวมโฟลเดอร์. toa สำหรับการควบคุมเวอร์ชันไม่รวมworkspace.xmlและ tasks.xml
  2. .iprไฟล์ควบคุมเวอร์ชันและ.imlไฟล์โมดูลทั้งหมดยกเว้น.iwsไฟล์เนื่องจากเก็บการตั้งค่าเฉพาะผู้ใช้

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


1
โครงการทั้งหมดของฉันดูเหมือนจะมีทั้งโฟลเดอร์. aia และไฟล์.
aiw

1
ส่วนตัวฉันลองทำตามคำแนะนำจาก JetBrains แต่มันก็ไม่ได้ผลสำหรับฉัน ฉันและผู้พัฒนารายอื่นกำลังใช้งาน Android Studio และเรามีไฟล์. aide และ. iml เป็น git ฉันเร็ว ๆ นี้พบว่าเมื่อคุณเริ่มรวมการคอมมิทและรับปัญหาทุกประเภทเมื่อเครื่องมือการรวมไม่สามารถรวมไฟล์ใด ๆ ภายใต้พา ธ . aia เป็นผลให้ฉันเพิ่ม imls และ. ada ทั้งหมดใน gitignore หลังจาก Studio ทั้งหมดทำงานได้ดีมากในการสร้างโครงสร้างโครงการเมื่อนำเข้าโครงการ Gradle ดังนั้นตอนนี้ฉันแค่ใส่ใจกับสิ่งที่ฉันมีในไฟล์ gradle ของฉัน
zmicer

5

โดยทั่วไปไฟล์ใด ๆ ที่ถูกสร้างใหม่โดยอัตโนมัติ

การทดสอบที่ดีคือการโคลน repo ของคุณและดูว่า Android Studio สามารถตีความและเรียกใช้โครงการของคุณได้ทันที (สร้างสิ่งที่ขาดหายไป)
หากไม่พบสิ่งที่ขาดหายไปและตรวจสอบให้แน่ใจว่ามันไม่ถูกละเว้น แต่เพิ่มลงใน repo

อย่างที่กล่าวไว้คุณสามารถยกตัวอย่าง.gitignoreไฟล์ที่มีอยู่เช่น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/

11
สิ่งนี้ไม่ถูกต้อง คุณควรตรวจสอบไฟล์ * .iml ของคุณและเป็นไปได้มากว่า. aide และ * .ipr ส่วน "สิ่งใดก็ตามที่สร้างขึ้นโดยอัตโนมัติ" ผิดปกติเป็นพิเศษ โครงการ Android ส่วนใหญ่จะสร้างขึ้นโดยอัตโนมัติหลังจากทั้งหมด
Sky Kelsey

6
* .iml, * .idea และ * .ipr เป็นข้อมูลเฉพาะสำหรับ Android-Studio / IntelliJ พวกเขาไม่จำเป็นต้องสร้างโครงการ เนื่องจากเป็น IDE เฉพาะและไม่ใช่ build-chain เฉพาะจึงไม่ควรเช็คอินทุกคนสามารถใช้ IDE ใด ๆ จึงไม่มีเหตุผลที่จะเช็คอินไฟล์โครงการ IntelliJ และไม่ใช่ Eclipse
Marc Plano-Lesay

2
หากคุณต้องการทำงานกับหลาย ๆ ส้อมของโครงการเดียวกันหรือกับทีมที่ทุกคนใช้ IDE เดียวกันหรือมีการควบคุมเวอร์ชันของการตั้งค่าที่ซับซ้อนที่คุณใช้สำหรับ IDE ของคุณแล้วใช่คุณควรตรวจสอบไฟล์ในไฟล์โครงการ สำหรับ IntelliJ นั้นมีมากกว่าปุยธรรมดาที่ใช้ในการเปิดโค้ดของคุณในโปรแกรมแก้ไข
Sky Kelsey

2
เหตุใดไฟล์ iml ของฉันจึงยังคงแสดงการเปลี่ยนแปลงระหว่างฉันและเพื่อนร่วมงานของฉัน โดยเฉพาะ external.root.project.path จะเปลี่ยนภายใต้แท็ก <module />
Sam

การใช้ Android Studio 0.8.12 บน Windows 8.1 และใน OS X Mavericks ในโครงการเดียวกันฉันสังเกตว่าไฟล์สองไฟล์ต่อไปนี้ได้รับการแก้ไขและทำเครื่องหมายว่าถูกเปลี่ยนแปลงโดย Git เมื่อฉันเปิดโครงการ: <project name> .iml และ .idea \ misc.xml โดยเฉพาะ: <ludeFolder url = "ไฟล์: // $ MODULE_DIR $ / build / tmp" /> ได้รับการเพิ่มหรือลบออกจาก / จาก <ชื่อโครงการ> .iml และ .idea \ misc.xml เนื่องจากความแตกต่างในการติดตั้ง JDK ระหว่าง ระบบปฏิบัติการ
jkwuc89

4

ฉัน kosher ด้วยการเพิ่มไฟล์. iml และ Intellij sez เพื่อเพิ่มโฟลเดอร์. aaa แต่ไม่สนใจ. aa / workspace.xml และ. aide / task.xml แต่จะเป็นอย่างไร. aidea / libraries /?

ฉันไม่เห็นว่าการเพิ่มสิ่งนี้เข้าท่าอย่างไร มีรายการไฟล์ XML ที่แสดงรายการไลบรารีที่โครงการ Android Studio ควรรู้ สิ่งเหล่านี้ควรมาแทนที่ build.gradle ที่กำหนดไว้ไม่ใช่ไฟล์โครงการ IDE

เนื้อหาของไฟล์เหล่านี้จะมีลักษณะดังนี้:

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

มันไม่สมเหตุสมผลเลยที่จะทำสิ่งนี้ จะเกิดอะไรขึ้นถ้าผู้ใช้ระบุ home dir ที่แตกต่างกันสำหรับ gradle หรือถ้าพวกเขาใช้เวอร์ชั่น gradle ที่แตกต่างกันเส้นทางที่อยู่ภายใต้.gradle/caches/artifacts-xxxจะแตกต่างกันสำหรับพวกเขา (เช่นartifacts-หมายเลขที่ต่อท้ายจะเกี่ยวข้องกับรุ่น gradle ที่คุณใช้ ) เส้นทางเหล่านี้ไม่เป็นสากลและยังมีคำแนะนำในการตรวจสอบทั้งหมดนี้หรือไม่


4

ในฐานะที่เป็น.gitignoreไฟล์Android Studio 0.8.4 จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อเริ่มต้นโครงการใหม่ โดยค่าเริ่มต้นประกอบด้วย:

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

3

ฉันรู้ว่านี่เป็นหัวข้อเก่าและมีตัวเลือกมากมาย แต่ฉันชอบgiboSimon Whitaker มากกว่า มันใช้งานง่ายสุด ๆ , cross-platform (mac, * nix, และ windows), และใช้ gitub gitignorerepo ดังนั้นจึงเป็น (โดยพื้นฐาน) เสมอ

ตรวจสอบให้แน่ใจว่าแคชในเครื่องของคุณทันสมัยแล้ว:

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

ค้นหาภาษา / เทคโนโลยีที่คุณต้องการ:

    $ gibo --search android
    Android

แสดงไฟล์. 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

ตอนนี้ผนวกเข้ากับไฟล์. gitignore ของโครงการของคุณ:

    $ gibo Android >> .gitignore

(ตรวจสอบให้แน่ใจว่าคุณใช้>>ต่อท้ายไฟล์. gitignore ของโครงการคุณ>จะเขียนทับมัน - เพราะฉันทำมาหลายครั้งโดยบังเอิญ!)

ฉันรู้ว่านี่ไม่ได้ตอบคำถามที่แน่นอนของ OP แต่การใช้ gibo ทำให้คุณไม่ต้องคิดเกี่ยวกับ 'คำถาม' อีกต่อไป! .. มันดีนะ! ;)


3

เพื่อให้ได้แนวคิดที่ดียิ่งขึ้นสิ่งที่คุณต้องมีคือไฟล์ต่อไปนี้

  • แอป
  • build.gradle
  • settings.gradle

โครงสร้างโครงการ Android พื้นฐาน

คุณสามารถใส่ทุกอย่างไว้ในไฟล์. gitignore การเปลี่ยนแปลงแอปทั้งหมดของคุณส่วนใหญ่อยู่ในไฟล์และโฟลเดอร์เหล่านี้ ส่วนที่เหลือที่คุณเห็นในโครงการพื้นฐานคือไฟล์ build gradle หรือไฟล์กำหนดค่า Android Studio

หากคุณใช้ Android Studio คุณสามารถใช้ "นำเข้าโครงการ" เพื่อสร้างโครงการได้สำเร็จ หรือคุณสามารถสร้างใช้บรรทัดคำสั่งให้ทำตามโครงการก่อสร้าง Android กับ Gradle


3

เป็นการดีที่สุดที่จะเพิ่มรายการ. gitignore ผ่านช่วงเวลาการพัฒนาเพื่อป้องกันผลข้างเคียงที่ไม่ทราบสาเหตุเมื่อการควบคุมเวอร์ชันไม่ทำงานด้วยเหตุผลบางประการเนื่องจากรายการ (คัดลอก / วาง) ที่กำหนดไว้ล่วงหน้าจากที่อื่น สำหรับหนึ่งในโครงการของฉันรายการเพิกเฉยมีเพียง:

.gradle
.idea
libs
obj
build
*.log

3

Github เก็บรักษารายการ gitignore ที่มีประโยชน์สำหรับโครงการประเภทต่างๆ นี่คือรายการของรายการ gitignore ที่มีประโยชน์สำหรับโครงการ Android

# 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 ใน GitHub


3
แม้ว่าลิงก์นี้อาจตอบคำถามได้ดีกว่าหากรวมส่วนสำคัญของคำตอบไว้ที่นี่และให้ลิงก์สำหรับการอ้างอิง คำตอบสำหรับลิงค์เท่านั้นอาจไม่ถูกต้องหากหน้าเว็บที่เชื่อมโยงนั้นเปลี่ยนแปลง - จากรีวิว
imtheman

@imtheman เป็นไปได้ .. ฉันได้อัปเดตคำตอบและใส่ลิงค์เป็นข้อมูลอ้างอิง
Sudip Bhandari

2

ฉันรวมไฟล์ Github .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

โปรดอ่าน: การสนับสนุน JetBrains: วิธีจัดการโครงการภายใต้ระบบควบคุมเวอร์ชัน


2
ในปี 2559 ฉันปฏิบัติตามคำตอบนี้ใกล้เคียงกับความต้องการของเรามากที่สุด ขอบคุณ
Henrique de Sousa

2

ใช้ api ที่จัดทำโดยgitignore.ioคุณจะได้รับโดยอัตโนมัติ นี่คือลิงค์โดยตรงยัง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

1

ในฐานะที่เป็นของ Android Studio 0.8.4 ไฟล์. gignignore ถูกสร้างขึ้นโดยอัตโนมัติเมื่อเริ่มต้นโครงการใหม่ โดยค่าเริ่มต้นประกอบด้วย:

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

ฉันเห็นด้วยกับคำสั่งนี้ แต่ฉันแก้ไขไฟล์นี้เพื่อเปลี่ยน / สร้างเพื่อสร้าง / (ซึ่งจะรวมถึง / สร้างและ / แอพ / สร้าง) ดังนั้นฉันไม่ได้จบลงด้วยไฟล์ทั้งหมดใน app / สร้างในพื้นที่เก็บข้อมูลของฉัน

โปรดทราบว่าหากคุณนำเข้าโครงการจาก Eclipse ระบบจะไม่คัดลอก. gitignore หรือสร้างขึ้นโดยอัตโนมัติสำหรับคุณ


0

รวบรวม:

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

0

ในการหลีกเลี่ยงการนำเข้าไฟล์ทั้งหมดที่ Android Studio ละเว้นรายการ "ไฟล์ที่ถูกเพิกเฉย" แต่ยังคงใช้ประโยชน์จาก Android Studio VCS ฉันได้ทำสิ่งต่อไปนี้: สิ่งนี้จะใช้รายการ "ไฟล์ที่ถูกละเว้น" จาก Android Studio (หลังจากการนำเข้า! และหลีกเลี่ยงการใช้วิธีที่ยุ่งยาก Tortoise SVN ตั้งค่ารายการ svn: ละเว้น

  1. ใช้เบราว์เซอร์ที่เก็บ Tortoise SVN เพื่อสร้างโฟลเดอร์โครงการใหม่ในที่เก็บโดยตรง
  2. ใช้ Tortoise SVN เพื่อชำระเงินโฟลเดอร์ใหม่ที่ด้านบนของโฟลเดอร์ที่คุณต้องการนำเข้า คุณจะได้รับคำเตือนว่าโฟลเดอร์ในเครื่องไม่ว่างเปล่า ละเว้นคำเตือน ตอนนี้คุณมีโฟลเดอร์ระดับบนสุดที่มีเนื้อหาที่ไม่มีเวอร์ชัน
  3. เปิดโครงการของคุณจากไดเรกทอรีการทำงานในท้องถิ่น ตอนนี้ควรเปิดใช้งาน VCS โดยอัตโนมัติ
  4. ตั้งค่าข้อยกเว้นไฟล์ของคุณในไฟล์ -> การตั้งค่า -> การควบคุมเวอร์ชัน -> ไฟล์ที่ถูกข้าม
  5. เพิ่มไฟล์ไปยัง SVN จาก Android Studio: เลือก 'แอพ' ในโครงสร้างโครงการ -> VCS -> เพิ่มใน VCS (การดำเนินการนี้จะเพิ่มไฟล์ทั้งหมดยกเว้น "ละเว้นไฟล์")
  6. กระทำการเปลี่ยนแปลง

ดำเนินการต่อไป "ละเว้นไฟล์" จะถูกละเว้นและคุณยังสามารถจัดการ VCS จาก Android Studio

ไชโย


0

Android Studio 3.5.3

ฉันใช้สิ่งนี้กับห้องสมุดและโครงการของฉันและครอบคลุมไฟล์ส่วนใหญ่ที่สร้างโดย android studio และเครื่องมือที่มีชื่อเสียงอื่น ๆ :

# 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

0

สิ่งนี้ถูกสร้างขึ้นโดยใช้การอ้างอิงของhttp://gitignore.io/ซึ่งคุณสามารถสร้างไฟล์ gitignore ที่อัพเดตล่าสุดสำหรับโครงการใด ๆ สำหรับ Android http://gitignore.io/api/androidstudio หวังว่านี่จะช่วยได้ ปัจจุบันฉันใช้ 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

-1

นี้เอกสารอย่างเป็นทางการจาก JetBrains สนับสนุนกล่าวว่าต่อไปนี้ควรจะรวม:

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

นอกจากนี้ยังให้คำแนะนำอื่น ๆ เกี่ยวกับสิ่งที่ต้องระวัง


1
ทำไมสิ่งนี้ถึงถูกโหวต? โหวตดาวน์โดยไม่มีคำอธิบายเป็นสิ่งที่แย่ที่สุดเกี่ยวกับ SO
craned

-1

.gitignoreจากห้องสมุด 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

-1

https://github.com/github/gitignoreเป็นคอลเล็กชันที่ยอดเยี่ยม

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.