在Android开发中,应该将哪些文件提交到存储库?

时间:2011-12-14 16:51:45

标签: android

Android项目中的哪些文件应该提交到版本控制存储库?不应该提交哪些文件?

现在我的.gitignore文件包含以下几行:

# Android generated files #
###########################
android.keystore
local.properties
bin/
gen/
libs/
obj/

# OS generated files #
######################
.DS_Store*
ehthumbs.db
Icon?
Thumbs.db

# Eclipse generated files #
###########################
.settings/org.eclipse.jdt.core.prefs

我错过了什么吗?

4 个答案:

答案 0 :(得分:28)

GitHub在this public repository维护一份推荐的.gitignore文件的官方列表。

对于Android,您可以找到它here

或者只是复制/粘贴:

# Built application files
*.apk
*.ap_

# Files for the 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 

答案 1 :(得分:7)

一般的经验法则是将任何可以重新生成的文件提交到存储库中。话虽如此,您可能还想将project.properties文件添加到.gitignore(如果存在)。

答案 2 :(得分:3)

不要添加bin文件夹和gen文件夹。它们不是您生成源的一部分。将来要记住,您只添加构建和运行项目所需的文件,而二进制文件和生成的文件则不会。

然而,如果你没有使用像常春藤或maven这样的工具,你可能希望你的lib文件夹出现。通常当您使用库项目时,您还需要提交它

答案 3 :(得分:0)

从Android Studio 2.2.2开始(可能在此版本之前添加),当您创建新项目时,Google会为您添加一个默认的.gitignore文件,其中包含以下内容:

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

与上述答案略有不同,因为它也忽略了.idea文件夹,其中往往包含大量文件。