【错误记录】Android WebView 报错 ( 网页无法打开 位于 http://... 的网页无法加载, 因为 net::ERR_CLEARTEXT_NOT_PERMITTED )





一、错误记录



报错信息 :

网页无法打开
位于 http://… 的网页无法加载, 因为 net::ERR_CLEARTEXT_NOT_PERMITTED ;

在这里插入图片描述





二、解决方案



在 Android 9.0 及以上的系统版本中系统默认情况下禁止应用程序使用不安全的明文流量进行网络连接,以提高用户的安全性。

这意味着,如果应用程序尝试连接到一个不安全的 HTTP 网站,将收到 net::ERR_CLEARTEXT_NOT_PERMITTED 错误 ; 也就是说应用中的 WebView 尝试显示 HTTP 站点时就会报 net::ERR_CLEARTEXT_NOT_PERMITTED 错误 ;

解决方案一

在 AndroidManifest.xml 清单文件中的 application 节点配置 android:usesCleartextTraffic="true" 属性 , 允许应用程序使用明文流量进行网络连接,该操作会降低应用程序的安全性 ;

	<application
	    android:usesCleartextTraffic="true" >
	</application>

解决方案二

使用 HTTPS 协议加密 HTTP 网站 , 提供更高的安全性保护 ;

如果该网站是自己开发的 , 在自己的 Web 服务器上部署 ,则可以 使用免费的 SSL/TLS 证书来启用 HTTPS ;

如果使用的是第三方 Web 服务,则应该 联系服务提供商启用 SSL/TLS 证书 , 进而启用 HTTPS 协议 ;