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

末鹿安然 提交于 2019-12-12 10:53:55

问题


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


回答1:


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.




回答2:


Just create 'n' number of customized network security XML for your 'n' number of build variant, and then you can inject exact network security XML file to your Android Manifest XML depend on the Environment. see here for examples https://developer.android.com/studio/build/manifest-build-variables




回答3:


You can create build_variant folder inside src and your network_config file inside that

below is some sample for different icon for different build_variant. same way we can do for network_config file

/src/build_variant/res/xml/network_security_config.xml



来源:https://stackoverflow.com/questions/46302058/how-to-have-different-network-security-config-for-different-build-variants

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!