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

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

報錯信息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

  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.xmlapplication 節點下配置以下代碼:服務器

<application
    ...
    android:networkSecurityConfig="@xml/network_security_config"
    ...>
    
    ...
    
</application>
複製代碼
  1. 服務器和本地應用都改用 https (推薦)網絡

  2. targetSdkVersion 降級回到 27app

關於我

相關文章
相關標籤/搜索