Android Gradle for Android

Help us to keep this website almost Ad Free! It takes only 10 seconds of your time:
> Step 1: Go view our video on YouTube: EF Core Bulk Insert
> Step 2: And Like the video. BONUS: You can also share it!


Gradle is a JVM-based build system that enables developers to write high-level scripts that can be used to automate the process of compilation and application production. It is a flexible plugin-based system, which allows you to automate various aspects of the build process; including compiling and signing a .jar, downloading and managing external dependencies, injecting fields into the AndroidManifest or utilising specific SDK versions.


  • apply plugin: The plugins which should been used normally just '' or ''.

  • android: The main configuration of your app

    • compileSdkVersion: The compile SDK version
    • buildToolsVersion: The build tools version
    • defaultConfig: The default settings which can been overwritten by flavors and build types
      • applicationId: The application id you use e.g. in the PlayStore mostly the same as your package name
      • minSdkVersion: The minimal required SDK version
      • targetSdkVersion: The SDK version you compile against (should be always the newst one)
      • versionCode: The internal version number which needs to be bigger on each update
      • versionName: The version number the user can see in the app details page
    • buildTypes: See somewhere else (TODO)
  • dependencies: The maven or local dependencies of your app

    • compile a single dependency
    • testCompile: a dependency for the unit or integration tests


See also

Gradle for Android - Extended documentation:

There is another tag where you can find more topics and examples about the use of gradle in Android.

Got any Android Question?