如何为不同的构建变体设置不同的网络安全配置?
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
我只想信任一个构建变体中的证书。如何制作?
为变体创建来源。在该源集中创建一个 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