Preface
During the months we were writing this book, a lot of people asked us what would make this book special and why someone should care to read it. The most powerful argument that I heard all this time was, "Hey, Google official supports only Gradle to build Android applications and the latest release of Android Studio makes extensive use of Gradle. Ant was already replaced and Maven is nowhere. Why do you spend time writing about developing Android applications with Maven?"
Good questions! The answers, however, is hidden within the question itself. First of all, there are no books out there that explain step by step about all the development phases and critical tasks to build and manage the life cycle of an Android Application with Maven. Maven is still—no matter if we like it or not—the most popular build tool. Many "traditional" software houses that have invested time and efforts to standardize their development process around Maven want to make the next step and expand their portfolio to the Android Market. Clearly, having another build tool only for Android development doesn't look very practical, although it's an option.
Companies would save a lot of money if they could just plug their Android applications to the existing development life cycle, driven by Maven. At the same time, it's true that Maven is a very mature, flexible, and robust build tool. Its extensibility through plugins and the idea of descriptively configuring the build process without the need to write scripts made it the de-facto standard.
The reality, however, has shown us that it's not always that easy. Maven provides all the required plugins to do almost everything, but there are no instructions or well-structured documentation. You can find blog posts here and there that shortly cover some topics but this is not enough.
This book aims to fill that gap. It will not teach you how to write Android applications, although you will find some simple examples. It will guide you, however, from A to Z, about how to set up all the necessary Maven configuration to compile, run, test, deploy, release, and verify the quality of an Android application. It's convenient for both experienced and young Android developers because we provide all the example code to see Maven in action. This book is also for those of you who already have some Maven experience but feel lost when you try to integrate it with your Android development process.
You can read the book sequentially if you have little experience with Maven, but you can also use it as a reference and jump to any chapter you want as each one is dedicated to a particular topic. The provided code is separated in different folders per chapter so that you can easily run the examples and verify that you have correctly followed the instructions of the book.
We are confident that you will find the book useful and practical, and we hope that it will help you build your next Android application with Maven.