flutter android Webview 打开网页错误ERR_CLEARTEXT_NOT_PERMITTED 、 net:ERR_CACHE_MISS
报错解释:
这个错误ERR_CLEARTEXT_NOT_PERMITTED
通常发生在Android 9 Pie (API level 28)或更高版本上,意味着应用尝试进行非加密的网络请求,而Android系统出于安全考虑默认不允许这种行为。从Android 9开始,默认情况下,应用间的明文流量(不经过TLS/SSL加密的流量)是被禁止的。
解决方法:
- 确保你的WebView加载的网页URL是以
https://
开头的,即使用HTTPS协议进行加密通信。 - 如果你需要允许应用进行非加密的网络请求,可以在你的
AndroidManifest.xml
中添加android:usesCleartextTraffic
属性,并设置为true
。例如:
<application
android:usesCleartextTraffic="true"
...>
...
</application>
- 如果你正在开发测试阶段且没有使用HTTPS,可以暂时使用上述方法允许明文流量,但是在生产环境中应该使用HTTPS来保护数据安全。
- 如果你正在使用Android模拟器或设备进行测试,请确保API等级与应用的目标API等级一致,并且在API 28或更高版本上正确设置了应用的清单文件。
评论已关闭