Android異常not permitted by network security policy

Android版本28使用http請求報錯not permitted by network security policy

android模擬器調試HTTP FAILED: java.net.UnknownServiceException: CLEARTEXT communication to 192.168.xx.xxx not permitted by network security policy

問題: 由於 Android P(版本27以上) 限制了明文流量的網絡請求,非加密的流量請求都會被系統禁止掉。
如果當前應用的請求是 htttp 請求,而非 https ,這樣就會導系統禁止當前應用進行該請求

推薦的做法是服務器和本地應用都改用 https ,測試時爲了方便使用http,上線時應該都會用https才比較安全。

解決辦法:1.在 res 下新建一個 xml 目錄,然後創建一個名爲:network_security_config.xml 文件

該文件內容如下:

<?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"

後不報錯了

2:服務器和本地應用都改用 https (推薦)

3:targetSdkVersion 降級回到 27

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章