# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
.google/
bin/
out/
src/common
src/template
_index.jd
CONTRIBUTING.md
LICENSE
NOTICE
README.md
README-wear.txt
.DS_Store

# Libraries used by the app
# Can explicitly add if we want, but shouldn't do so blindly.  Licenses, bloat, etc.
/libs

# Build stuff (auto-generated by android update project ...)
ant.properties
local.properties

# Eclipse project files
.classpath
.project

# idea project files
.idea/
.idea/.name
*.iml
*.ipr
*.iws

##Gradle-based build
.gradle
build/

