Android版本 28
使用 http 請求報錯 not permitted by network security policy
android
報錯信息git
CLEARTEXT communication to to xx.xx.xx.xxx not permitted by network security policy
複製代碼
問題: 因爲 Android P(版本27以上) 限制了明文流量的網絡請求,非加密的流量請求都會被系統禁止掉。 若是當前應用的請求是 htttp 請求,而非 https ,這樣就會導系統禁止當前應用進行該請求github
推薦的作法是服務器和本地應用都改用 https ,測試時爲了方便使用http,上線時應該都會用https才比較安全。安全
解決辦法:bash
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
節點下配置以下代碼:服務器
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...>
...
</application>
複製代碼
服務器和本地應用都改用 https
(推薦)網絡
targetSdkVersion
降級回到 27
app