如何针对不同的构建变体使用不同的network-security-config?

时间:2017-09-19 13:40:26

标签: android certificate ssl-certificate android-7.0-nougat

我只想在一个build-variant中信任证书。如何制作?

3 个答案:

答案 0 :(得分:7)

为变体创建源。在该源集中创建一个res/xml/目录,并将您的网络安全配置XML放在那里。根据需要在该源集中创建其他内容(例如,res/raw/和您的证书)。在该源集中,创建一个AndroidManifest.xml文件,其中<application>元素只具有android:networkSecurityConfig属性,而不是其他任何内容。

你应该完成。

此变体的构建将包括您的源集,合并android:networkSecurityConfig属性,并利用与其相关的资源。其他变体的构建将忽略此源集,使您无需网络安全配置。

答案 1 :(得分:0)

为您的'n'个构建变体创建'n'个定制的网络安全XML,然后您可以根据环境将精确的网络安全XML文件注入您的Android Manifest XML。请参阅此处以获取示例https://developer.android.com/studio/build/manifest-build-variables

答案 2 :(得分:0)

您可以在src中创建build_variant文件夹,在

中创建network_config文件

下面是针对不同build_variant的不同图标的一些示例。我们可以为network_config文件做同样的事情

<强> /src/build_variant/res/xml/network_security_config.xml

Exmaple