Building Android Projects with Kotlin: Use Android SDK, Jetpack, Material Design, and JUnit to Build Android and JVM Apps That Are Secure and Modular by Pankaj Kumar

Building Android Projects with Kotlin: Use Android SDK, Jetpack, Material Design, and JUnit to Build Android and JVM Apps That Are Secure and Modular by Pankaj Kumar

Author:Pankaj Kumar [Kumar, Pankaj]
Language: eng
Format: epub
Publisher: BPB Publications
Published: 2023-04-15T00:00:00+00:00


Product flavors

It allows us to configure the different versions of our application, where each version can have a different set of features, resources, and application id. Let us assume that we want to release two versions one is free, and another is paid for our application, and we use product flavors. In terms of product flavors, free and paid versions of the application are just an example; we can create any type of application version, like a country-specific application version.

Let us create free and pro (paid) versions; the code will be as follows:

android {

…

buildTypes {

debug { … }

release { … }

staging { … }

}

// A flavorDimension is like a flavor category

// where each combination of a flavor from

// each dimension will produce a variant.

// We can define more than one dimensions.

flavorDimensions “version”

productFlavors {

free {

// Each product flavor must be assigned to one

// flavor dimensions.

dimension “version”

// Add .free at last of application id

applicationIdSuffix “.free”

versionCode 202100629

versionName “1.0.0-free”

// versionNameSuffix “-free”

// resValue is to create string resource specific

// to build. In below case

// R.string.flavor_specific_string will be created

// with value “Generated from free version”.

resValue “string”,

“flavor_specific_string”,

“Generated from free version”

}

pro {

dimension “version”

applicationIdSuffix “.full”

versionCode 202100629

versionName “1.0.0-full”

// versionNameSuffix “-full”

// R.string.flavor_specific_string will be created

// with value “Generated from pro/full version”

resValue “string”,

“flavor_specific_string”,

“Generated from pro/full version”

}

}

…

}

After adding product flavors, we need to sync Gradle, and after a successful build, we will see more options at Build Variants, as shown in figure 5.3:



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.