Preface

The build process for an Android app is an incredibly complex procedure that involves many tools. To begin with, all the resource files are compiled and referenced in a R.java file, before the Java code is compiled and then converted to Dalvik bytecode by the dex tool. These files are then packaged into an APK file, and that APK file is signed with a debug or release key, before the app can finally be installed onto a device.

Going through all these steps manually would be a tedious and time-consuming undertaking. Luckily, the Android Tools team has continued to provide developers with tools that take care of the entire process, and in 2013, they introduced Gradle as the new preferred build system for Android apps. Gradle is designed in a way that makes it easy to extend builds and plug into the existing build processes. It provides a Groovy-like DSL to declare builds and create tasks, and makes dependency management easy. Additionally, it is completely free and open source.

By now, most Android developers have switched to Gradle, but many do not know how to make the best of it, and are unaware of what can be achieved with just a few lines of code. This book aims to help those developers, and turn them into Gradle power users. Starting with the basics of Gradle in an Android context, this book goes on to cover dependencies, build variants, testing, creating tasks, and more.

What this book covers

Chapter 1, Getting Started with Gradle and Android Studio, explains why Gradle is useful, how to get started with Android Studio, and what the Gradle Wrapper is.

Chapter 2, Basic Build Customization, goes into detail about the Gradle build files and tasks, and shows how to do simple customizations to the build process.

Chapter 3, Managing Dependencies, shows how to use dependencies, both local and remote ones, and explains dependency-related concepts.

Chapter 4, Creating Build Variants, introduces build types and product flavors, explains what the difference between them is, and shows how to use signing configurations.

Chapter 5, Managing Multimodule Builds, explains how to manage app, library, and test modules, and mentions how to integrate them into the build.

Chapter 6, Running Tests, introduces several testing frameworks for unit tests and functional tests, how to automate testing and how to get test coverage reports.

Chapter 7, Creating Tasks and Plugins, explains the basics of Groovy, and shows how to create custom tasks and how to hook them into the Android build process. This chapter also explains how to create a reusable plugin.

Chapter 8, Setting Up Continuous Integration, provides guidance on automating builds using the most commonly used CI systems.

Chapter 9, Advanced Build Customization, shows some tips and tricks to shrink APKs, speed up the build process, and split up APKs based on density or platform.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset