我正在尝试连接一个嵌入式设备的HTTP服务器,该服务器在Android < P上运行良好(直到我设置targetSdkVersion 28
),因为有一个改变,即默认启用了网络TLS。
有一种方法可以禁用明文传输,但似乎这只适用于域名而不是IP地址。
我尝试在清单中使用IP设置android:networkSecurityConfig
,但这没有起作用:
<network-security-config>
<domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">172.16.33.1</domain>
</domain-config>
</network-security-config>
将其设置为 <base-config cleartextTrafficPermitted="false">
也无法使此项工作。
因此,似乎在没有域名的情况下无法使非TLS通信工作。但由于这是本地网络中的嵌入式设备,我们没有域名(我们只知道IP地址)。
这似乎是所有嵌入式设备的一个重大问题,它们将无法再进行通信。此外,“新应用程序和对现有应用程序的更新需要针对API级别[2020年11月的28级]”(从2018年11月开始使用API 26并每年推进一次)。
有什么想法可以实现这个?
cleartextTrafficPermitted
设置为true
,而不是false
。 - laalto<base-config cleartextTrafficPermitted="true">
就可以工作了。谢谢! - hardysim