0:00:00.300,0:00:02.680 There's a couple more things about[br]Android Build Variants that you should 0:00:02.680,0:00:05.370 know about, but you won't necessarily[br]need to use them very often. 0:00:06.440,0:00:09.650 Consider a game that contains[br]a great deal of drawable resources. 0:00:09.650,0:00:12.160 So many in fact that including[br]all the drawables for 0:00:12.160,0:00:14.910 every resolution would result[br]in an unacceptably large APK. 0:00:14.910,0:00:19.840 This would be an excellent time to use[br]product flavors, one for medium DPI and 0:00:19.840,0:00:21.480 one for high DPI. 0:00:21.480,0:00:25.310 Now, consider what happens if we[br]want to add free and paid flavors. 0:00:25.310,0:00:28.730 You'll want both a free and[br]paid medium DPI version, and a free and 0:00:28.730,0:00:30.440 paid high DPI version. 0:00:30.440,0:00:32.750 This comes out to four total flavors. 0:00:32.750,0:00:35.720 However, now if you want to include[br]additional functionality in 0:00:35.720,0:00:39.630 the paid version, for example,[br]you have to put it in two places. 0:00:39.630,0:00:44.140 One for the paid medium DPI and[br]one for the paid high DPI. 0:00:44.140,0:00:47.050 Now, suddenly we've lost all[br]the code release advantages of 0:00:47.050,0:00:49.310 using flavors in the first place. 0:00:49.310,0:00:52.140 Fortunately, the Android plug-in[br]supports the concept of flavor 0:00:52.140,0:00:54.500 dimensions to deal with this use case. 0:00:54.500,0:00:56.410 Just like the Android[br]plug-in will create tasks for 0:00:56.410,0:00:58.780 each combination of build type and[br]product flavor. 0:00:58.780,0:01:02.310 You will now be able to build every[br]possible permutation build type, 0:01:02.310,0:01:04.349 product flavor, and flavor dimension.