今天公司反饋有個用戶的手機網(wǎng)絡(luò)正常卻怎么也用不了app眉尸,一直網(wǎng)絡(luò)失敗,最后測試到這部手機(華為p20)確實存在這個網(wǎng)絡(luò)失敗問題划煮,框架輸出CLEARTEXT communication to * not permitted by network 悴势。
原因是Android P系統(tǒng)限制了明文流量的網(wǎng)絡(luò)請求,之下的版本沒有影響厌处,所以okhttp3會拋出該異常。
解決方法(親測有效):
在res目錄下新建xml文件夾岁疼,文件夾里面創(chuàng)建network_security_config.xml 文件阔涉;
文件內(nèi)容
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
然后在 AndroidManifest.xml 的application 標簽加上
android:networkSecurityConfig="@xml/network_security_config"
完事。
另外兩個方法:
服務(wù)器和本地應(yīng)用都改用 https(但是我的接口確實是https)
targetSdkVersion 降級回到 27