Объединение XML-файлов NetworkSecurityConfig в манифест - PullRequest
1 голос
/ 01 июля 2019

В моем приложении я установил файл конфигурации безопасности сети со следующим:

<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 всегда будет файлом приложения, а не слиянием между приложением и сторонней сетью-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 Ответ

2 голосов
/ 01 июля 2019

Нет встроенного механизма для объединения ресурсов таким способом. Вам понадобится объединенный файл конфигурации сетевой безопасности в модуле приложения, в котором вы будете вручную объединять то, что вам нужно, и то, что запрашивает библиотека.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...