Android Studio上报错java.net.UnknownServiceException: CLEARTEXT communication ** not permitted by

本文介绍在Android9.0中使用HttpUrlConnection或OKHttp进行HTTP请求时遇到的安全策略异常,包括Cleartext HTTP traffic not permitted错误,并提供三种解决方案:切换HTTPS、降低targetSdkVersion及修改网络安全配置。

因为安全原因,Google针对Android 9.0 的应用程序,将要求默认使用加密连接。

因此在Android 9.0 使用HttpUrlConnection进行http请求会出现以下异常

 W/System.err: java.io.IOException: Cleartext HTTP traffic to **** not permitted

使用OKHttp请求则出现

java.net.UnknownServiceException: CLEARTEXT communication ** not permitted by network security policy

 

针对这个问题,有以下三种解决方法:

(1)APP改用https请求

(2)targetSdkVersion 降到27以下

将红框内原本的28全部改成26即可

(3)更改网络安全配置

a.在res文件夹下创建一个xml文件夹,然后创建一个network_security_config.xml文件,文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

b.接着,在AndroidManifest.xml文件下的application标签增加以下属性:


https://blog.csdn.net/SmileToLin/article/details/83651680 
 

内容概要:本文档是PCI-SIG发布的工程变更通知(ECN),标题为“DSM Function Revision Clarifications”,发布于2020年2月12日,旨在澄清PCI固件规范3.2版本及后续ECNs中关于ACPI设备特定方法(_DSM)的修订规则。文档明确了_DSM函数中“Revision ID”参数的有效取值范围,规定当前版本的最高修订号为6,并详细说明了当新增或修改函数时,如何统一更新修订值。同时,文档修正了此前不一致的应用方式,确保未来对_DSM接口的扩展具有一致性和向后兼容性,并列出所有已定义_DSM函数的初始与当前有效修订号,涵盖PCI Express插槽信息、电源管理、延迟容忍报告等功能。此外,还描述了操作系统平台(OSPM)与系统固件之间如何协商使用正确的修订版本号。; 适合人群:从事固件开发、系统架构设计、ACPI或PCI Express相关技术工作的工程师,尤其是参与操作系统与硬件交互层开发的技术人员。; 使用场景及目标:①指导开发者正确实现_DSM函数的版本控制机制;②帮助固件和操作系统开发者确保对_DSM接口的支持符合规范一致性要求;③为支持Runtime Device Power Management和Downstream Port Containment等特性的系统提供标准化依据; 阅读建议:此文档属于技术规范类文件,建议结合PCI Firmware Specification 3.2全文及其他相关ECN一起阅读,重点关注Table 4-7及各_DSM函数的参数定义,理解版本协商流程及其对系统行为的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值