Android知识点:Cleartext HTTP traffic not permitted报错修复

Android知识点:Cleartext HTTP traffic not permitted报错修复

  • 问题描述
  • 解决方法
    • 方法1
    • 方法2
    • 方法3
  • OK

问题描述

开开心心打包app给测试大爷
结果反馈啥权限都给了,就是连不上网!
啥情况啊
我测试机都没得问题!!

没办法,拿测试大爷的手机来打一下断点
就在下图位置出现了问题
Android知识点:Cleartext HTTP traffic not permitted报错修复_第1张图片
因为修复了,我就不复现了
大概的描述就是ex的value = Cleartext HTTP traffic to XXX not permitted
啥意思呢?
一顿操作,谷歌一下
大概就是高版本的Android里不再允许不加密的明文链接,就是要你走https;

解决方法

解决方案来自于 Android 8: Cleartext HTTP traffic not permitted
respect
里面最高点赞数的答案里有三个解决方案
分别如下:

方法1

创建一个文件,路径为:**/res/xml/network_security_config.xml **

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">Your URL(ex: 127.0.0.1)</domain>
    </domain-config>
</network-security-config>

然后编辑你的 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:networkSecurityConfig="@xml/network_security_config"
        ...>
        ...
    </application>
</manifest>

方法2

直接编辑你的 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>

方法3

如果你的 AndroidManifest.xml 文件里的 标签下有这个 android:targetSandboxVersion
就要修改它的值为 1

<?xml version="1.0" encoding="utf-8"?>
<manifest android:targetSandboxVersion="1">
    <uses-permission android:name="android.permission.INTERNET" />
    ...
</manifest>

OK

最后我使用的是方法2,问题解决。
完事。

你可能感兴趣的:(错误)