Default Gradle build scripts produced by Android IDEs are deceptively simple. However, this simplicity is often misleading as Gradle scripts have the potential for much more intricate behaviors than XML property file build systems. This complexity gap between the simple and the possible often causes roadblocks when an Android developer actually needs to do anything unique during a build. This class will help bridge that complexity gap by diving under the hood to explore how both simple and complicated build scripts actually work.
You will learn when and where lines of your build scripts are actually getting executed and what conditions prevent them from changing the state of your build. You'll also learn how you can create reusable code in a multi-app build environment. Finally, you'll hear important tips to make sure your Android Gradle scripts work well within the plugin ecosystem. All these lessons come straight from Jake's experiences developing the Crashlytics plugin for Gradle, which has been used in production by top Android app developers for almost two years. We'll cover advanced Gradle topics, but introduce them in a way that is accessible to newer users.