What should be in my .gitignore for an Android Studio project?
Learn what to include in your .gitignore for Android Studio projects to avoid committing unnecessary files like build outputs, IDE settings, and local configurations.
Updated to Android Studio 3.0 Please share missing items in comments.
A late answer but this alternative answer was not right for us ...
So, here's our gitignore
file:
#built application files
*.apk
*.ap_
*.aab
# 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
Since Android Studio 2.2 and up to 3.0, new projects are created with this gitignore file:
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild
Deprecated - for older project format, add this section to your gitignore file:
/*/out
/*/*/build
/*/*/production
*.iws
*.ipr
*~
*.swp
This file should be located in the project's root folder and not inside the project's module folder.
Edit Notes:
1. Since version 0.3+ it seems you can commit and push *.iml
and build.gradle
files. If your project is based on Gradle: in the new open/import dialog, you should check the "use auto import"
checkbox and mark the "use default gradle wrapper (recommended)"
radio button. All paths are now relative as @George suggested.
2. Updated answer according to @128KB and @Skela suggestions
Properly configuring your .gitignore
file is essential for keeping your Android Studio project clean and organized in version control.
By excluding unnecessary files such as build outputs, IDE-specific settings, and local configurations, you can ensure a smoother collaboration process and avoid potential conflicts.
Following this guide will help you create an effective .gitignore
for your Android project, promoting better project management and reducing the chances of accidentally committing irrelevant files.