Further automation
Most modern continuous integration systems support Gradle, either by default or through a plugin. This means that instead of just building your app or library, you can create all kinds of Gradle tasks to further automate the build. The advantage of defining extra build steps with Gradle tasks, instead of in the CI system itself is that the extra build steps become much more portable. It is easy to run a custom Gradle task on your development machine. A custom Jenkins build step, on the other hand, is impossible to run without having Jenkins installed. Having extra build steps in a certain CI system also makes it harder to switch to a different CI system. Gradle tasks can also easily be ported to different projects. In this section, we will look at a few ways to further automate building and deploying apps and libraries, using Gradle tasks and plugins.
The SDK manager plugin
An issue you might run into at some point is that the Android SDK on the build server is not up to...