我的应用程序有免费和付费两种口味。现在我们正在向在模拟服务器中运行的付费版本添加测试,我们需要以明文形式与其通信,因此尝试仅在 androidTestPaid 中添加网络安全配置(我们在主源根目录中没有) . 不幸的是,配置似乎被完全忽略了。
androidTestPaid/AndroidManifest.xml
<manifest ...>
<application
tools:node="merge"
android:networkSecurityConfig="@xml/network_security_config"
android:usesCleartextTraffic="true"
... />
</application>
<instrumentation android:name="...CustomTestRunner" ... />
</manifest>
androidTestPaid/res/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">127.0.0.1</domain>
</domain-config>
</network-security-config>
在我们的 gradle 文件中,我们不会对特定于风味的 android 测试的源集做任何事情,但我们会为基础 android 测试做任何事情。这会导致问题吗?
构建.gradle
android {
sourceSets {
androidTest {
java.srcDirs = ['src/androidTest/java', 'src/testShared/java']
testOptions {
animationsDisabled = true
}
}
...
}
...
}
什么会阻止在我们的测试中使用此配置?