Как включить 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
тоже приветствуются!