如何为不同的构建变体设置不同的网络安全配置?

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

我只想信任一个构建变体中的证书。如何制作?

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

你应该完成了。

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

只需为您的 'n' 数量的构建变体创建 'n' 数量的自定义网络安全 XML,然后您可以将确切的网络安全 XML 文件注入您的Android 清单 XML 取决于环境。示例见此处 https://developer.android.com/studio/build/manifest-build-variables

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

中创建 network_config 文件

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

做同样的事情

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