android - 没有 TLS 的 Android P:network-security-config: cleartextTrafficPermitted IP 不可能(仅域)
问题描述
我正在尝试使用 HTTP 服务器连接到嵌入式设备,该服务器在 android < P (直到我设置targetSdkVersion 28
)上运行良好,因为默认情况下启用了网络 TLS的更改。
有一种方法可以选择退出明文流量,但似乎这仅适用于域而不适用于IP 地址。
我尝试android:networkSecurityConfig
在 Manifest 中使用 IP 而不是域设置一个,但这不起作用:
<network-security-config>
<domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">172.16.33.1</domain>
</domain-config>
</network-security-config>
将此设置为 a<base-config cleartextTrafficPermitted="false">
也不起作用。
因此,在没有 domain的情况下,似乎没有办法让非 TLS 通信正常工作。但是因为这是本地网络中的嵌入式设备,所以我们没有域(我们只知道 IP)。
对于所有无法再通信的嵌入式设备来说,这似乎是一个主要问题。此外,“新应用和现有应用的更新需要以 API 级别为目标 [2020 年 11 月为 28]”(从 2018 年 11 月开始,API 26 开始,并且每年都在推进)。
任何想法如何使这成为可能?
解决方案
它<base-config cleartextTrafficPermitted="true">
适用于 IP 地址。
(当然也必须true
不是false
)。
推荐阅读
- sql - 使用时间戳差异将综合浏览量分组到会话中
- asp.net-mvc - 使用 MVC 单击 CheckBoxFor 时更改 DB 值
- batch-file - 运行批处理文件 - CPLEX Interactive Optimizer
- javascript - 如何在 TypeScript 中正确键入用作地图的 JavaScript 对象
- mongodb - 检查数组中是否存在字段
- c# - DelegatingHandler SendAsync 问题
- php - 全局临时表的 PHP Oracle 问题
- javascript - 糟糕的 ComponentDidMount 函数吞噬了我每天 95000 次调用 - ReactJS
- linux - 安装 docker 会导致主机上的 $hostname 解析为 docker 子网而不是 lan
- bash - bash 从期望脚本中获取退出状态