Как включить BuildConfig или ресурс в network_security_config.xml

Чтобы выполнять вызовы http-API на localhost в Android, мне нужно было добавить конфигурацию сетевой безопасности, чтобы определить мой локальный IP-адрес. Конечно, локальный IP-адрес у каждого разработчика разный, поэтому я помещаю это значение вgradle.propertiesтак что каждый может отменить это самостоятельно. Однако я не понял, как включить это значение вnetwork-security-config.xmlфайл. Я попробовал, создавbuildConfigField или resValue в build.gradle, но оба не работают. Что я могу сделать?

network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <!-- We are allowed to call localhost on http instead of https:
        https://stackru.com/questions/45940861/android-8-cleartext-http-traffic-not-permitted -->
        <domain includeSubdomains="true">LOCALHOST</domain>
    </domain-config>
</network-security-config>

приложение / build.gradle

buildTypes {
    debug {
        buildConfigField "String", "LOCALHOST", localIpAddress
        resValue "string", "LOCALHOST", localIpAddress
    }
}

gradle.properties

localIpAddress="IP_ADDRESS_HERE"

Любые другие решения, как изящно включить мой локальный IP-адрес в network_security_config.xml тоже приветствуются!

0 ответов

Другие вопросы по тегам