在清单中合并NetworkSecurityConfig xml文件

时间:2019-07-01 13:33:13

标签: android kotlin android-manifest

在我的应用程序中,我使用以下命令设置了一个网络安全配置文件:

<network-security-config>
    <debug-overrides>
        <trust-anchors>
            <certificates src="user" />
        </trust-anchors>
    </debug-overrides>
</network-security-config>

我以这种方式设置清单:

  <application 
             (...)
              android:networkSecurityConfig="@xml/network_security_config">

另外,我要添加一个第三方库,该库为自己的网络安全配置文件提供一组域

<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">domainA</domain>
    </domain-config>
</network-security-config>

他们以这种方式设置在我的清单中

  <application android:networkSecurityConfig="@xml/network_security_config">

问题在于清单合并仅在manifest.xml文件(afaik)中有效,因此netowrk-security-config文件将始终是应用程序文件,而不是应用程序与第三方network-security-config之间的合并文件,有没有办法实现这样的目标?

<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">domainA</domain>
    </domain-config>
     <debug-overrides>
        <trust-anchors>
            <certificates src="user" />
        </trust-anchors>
    </debug-overrides>
</network-security-config>

1 个答案:

答案 0 :(得分:2)

没有内置的机制可以通过这种方式合并资源。您需要在应用程序模块中拥有合并的网络安全配置文件,在此处您可以手动合并需要的内容和库的要求。