In this series, you will learn how to produce separate APKs from the same code base using product flavors. Each flavor will be branded differently, including a custom launcher icon, color scheme, and app name.
In this screencast, part 2 of the series, you will learn how to share files across a main source set, while providing custom versions of other files for the different app flavors.
You can use these same techniques in any scenario where you want to build apps with similar functionality and tweak them slightly, such as having a free and paid version of your application.
For the More Curious...
Android Build Variants