Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to have different network-security-config for different build variants?

I would like to trust certificate only in one build-variant. How to make it?

like image 531
Mladen Rakonjac Avatar asked Sep 19 '17 13:09

Mladen Rakonjac


1 Answers

Create a source for the variant. Create a res/xml/ directory in that source set, and put your network security configuration XML in there. Create other stuff in that source set as needed (e.g., res/raw/ and your certificate). In that source set, create an AndroidManifest.xml file, with an <application> element that just has the android:networkSecurityConfig attribute and nothing else.

And you should be done.

Builds for this variant will include your source set, merge in the android:networkSecurityConfig attribute, and leverage the resources tied to it. Builds for other variants will ignore this source set, leaving you without a network security configuration.

like image 58
CommonsWare Avatar answered Oct 22 '22 02:10

CommonsWare