Gradle for Android and Java

This course reveals the magic that happens after you hit the "Run" button in Android Studio. You'll learn how the Gradle build tool compiles and packages your app, and you'll customize the build process. You'll learn to configure free vs paid app flavors, create and integrate Android libraries, test your app, and prepare your app for the Play Store.

Need help getting started?


Course Resources

Course Code

The course code can be found in this GitHub repository.

Additional Resources

Final Project Resources

In this project, you will create an app with multiple flavors that uses multiple libraries and Google Could Endpoints. The finished app will consist of four modules. A Java library that provides jokes, a Google Could Endpoints (GCE) project that serves those jokes, an Android Library containing an activity for displaying jokes, and an Android app that fetches jokes from the GCE module and passes them to the Android Library for display.

The final project starter code can found in the course repository, or by direct link here

The final project rubric can be found here.

Course syllabus

Lesson 1: Gradle Fundamentals

Learn the syntax and semantics of Gradle build scripts, and understand the lifecycle of a Gradle build.

Lesson 2: Gradle for Java

Understand the Gradle Java plugin, build and test Java projects, and manage dependencies.

Lesson 3: Gradle for Android

Discover the Gradle integration with Android Studio, and build an app with multiple product flavors.

Lesson 4: Advanced Android Builds

Create Android libraries, and use advanced features of the Android Gradle Plugin to configure signing, obfuscation, and testing.

Final Project: Build It Bigger

Build and test a joke telling app with a free ad-supported version and a paid version. As a bonus, deploy a Google Cloud Messaging backend to supply the jokes.


Thanks to Taylor Gilkeson for heroic efforts in filming and video editing.
Jennie Kim and Kim Dryden for cracking the whip and steering the ship.
Ophir Silverman and Jessica Lin for awesome testing and feedback.