We will be continuing our journey into App versioning, this time for Android. Similar to iOS, in Android, we have to create Compiler symbols too. For those who have missed iOS versioning blog, click on below is the link.
Versioning of iOS app (Dev, Stage, and Prod) using same code base – Xamarin Forms

Set different configurations

Similar to iOS, setup all the required configurations as shown below,

Dev

Screen Shot 2018-04-28 at 12.42.35 am.png

Staging

Screen Shot 2018-04-28 at 12.43.26 am.png

Prod

Screen Shot 2018-04-28 at 12.54.45 am.png

Compiler symbols options

Double-clicking on Android project should prompt with Project Options, go to compiler tab under Build section. Here similar to iOS add symbols Dev, Stage, and Prod.

Dev

Screen Shot 2018-04-28 at 12.55.44 am.png

Staging

Screen Shot 2018-04-28 at 12.55.54 am.png

Prod

Screen Shot 2018-04-28 at 12.56.01 am.png

Android Manifest file

In case of Android, we need to create new Manifest files to support creating different apps. Two things to change in this file are package and android: label, as shown below for Dev.

Screen Shot 2018-04-27 at 3.53.10 pm.png

Staging

Screen Shot 2018-04-27 at 3.54.08 pm.png

Prod

Screen Shot 2018-04-28 at 12.39.06 am

Edit Android Proj file

Now we have to assign in proj file to set each environment with the correct android manifest file, as shown below.
Open proj file using the path
Screen Shot 2018-04-28 at 12.58.34 am.png
Now change each configuration setting as shown below with the correct Android settings with appropriate Android Manifest file.
Screen Shot 2018-04-28 at 1.00.22 am.png

Finally

Remove Label from the main activity, so the app picks up the name from required Android Manifest file.
Screen Shot 2018-04-28 at 10.08.58 am.png

Output

When we run with above configurations, it will create different apps for the same code base
Screen Shot 2018-04-28 at 12.37.45 am

Dev

Screen Shot 2018-04-28 at 1.03.41 am.png
 

Staging

Screen Shot 2018-04-28 at 1.03.56 am.png

Prod

Screen Shot 2018-04-28 at 1.04.13 am.png
Github link
https://github.com/divikiran/AppVersioning

Category:
Mobile
Tags:
,