Android Studio使用Webview 时 net::ERR_CLEARTEXT_NOT_PERMITTED解决办法

前言


 [异常原因]:从Android 9.0 (API级别28) 开始,默认情况下限制了明文流量的网络请求,对未加密流量不再信任,直接放弃请求因此http的url均无法在webview中加载,https 不受影响。

在Android Studio中使用webview加载URL出现net::ERR_CLEARTEXT_NOT_PERMITTED
cleartext为明文 permitted表示允许即加载http时明文不被允许

从Android 9.0(API级别28)开始,默认情况下禁用明文支持。因此http的url均无法在webview中加载

先保证App申明了网络权限

 【解决方法(1)】

在此需要添加允许权限

 

我这里加上这句之后会已下错误

Manifest merger failed : Attribute application@usesCleartextTraffic value=(true) from AndroidManifest.xml:34:9-44
is also present at [com.dji:dji-sdk-v5-all:5.2.0] AndroidManifest.xml:27:9-45 value=(false).
Suggestion: add 'tools:replace="android:usesCleartextTraffic"' to  element at AndroidManifest.xml:28:5-119:19 to override.

 解决报错问题方法

res 下新建 xml目录,创建文件: network_config.xml ,内容如下:

在AndroidManifest.xml文件的application标签里加入android:networkSecurityConfig="@xml/network_security_config",这种方法与方法二是相似的。



    

 【解决方法(2)】

服务器和本地应用都改用 https

 【解决方法(3)】

targetSdkVersion 降级回到 27

你可能感兴趣的:(android,android,studio,webview)