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

android, android-7.0-nougat, certificate, ssl-certificate

Solution

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.

Problem

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

Original source