В разработке 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 

Я что-то пропустил?

В этом публичном репозитории GitHub поддерживает официальный список рекомендованных файлов .gitignore.

Для Android вы можете найти его здесь

Или просто скопируйте / вставьте:

 # 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 

Общее эмпирическое правило – не передавать какой-либо файл, который может быть сгенерирован повторно, в репозиторий. Сказав это, вы можете добавить файл project.properties в .gitignore (если он существует).

Не добавляйте папку bin и папку gen. Они не являются частью ваших источников, которые они генерируют. В будущем помните, что вы добавляете только файлы, необходимые для создания и запуска вашего проекта, а двоичные и сгенерированные файлы – нет.

Тем не менее, если вы не используете какой-либо инструмент, например плющ или maven, вы можете захотеть представить свою папку lib. Часто, когда вы используете проект библиотеки, вам также необходимо зафиксировать его

Начиная с Android Studio 2.2.2 (и, вероятно, она была добавлена ​​задолго до этой версии), когда вы создаете новый проект, Google добавляет в проект по умолчанию файл .gitignore для проекта со следующим содержимым:

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

Немного отличается от приведенных выше ответов, так как он также игнорирует папки .idea, которые, как правило, содержат много файлов.