What should be in my .gitignore for an Android Studio project?


What files should be in my .gitignore for an Android Studio project?

I've seen several examples that all include .iml but IntelliJ docs say that .iml must be included in your source control.


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

files for the dex VM


Java class files


generated files

bin/ gen/

Local configuration file (sdk path, etc)


Windows thumbnail db


OSX files


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:


Deprecated - for older project format, add this section to your gitignore file:


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 attached source and @Skela suggestions

What does git rev-parse do?

git push says "everything up-to-date" even though I have local changes