Glide在高版本系統上沒法加載http圖片問題

原文連接:blog.csdn.net/gengkui9897…java

在Android 7.0以後的系統要求默認使用加密鏈接,這意味着 Android 8.0禁止 App 使用全部未加密的鏈接,所以運行 Android P 系統的安卓設備不管是接收或者發送流量,將來都不能明碼傳輸。 Glide默認使用HttpUrlConnection進行網絡請求,在使用時並未發生異常,可是經過Glide的listener能夠輸出錯誤日誌,錯誤信息爲android

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

所以,若是應用使用的是非加密的明文流量的http網絡請求,則會致使該應用沒法進行網絡請求,https則不會受影響。bash

解決方案:網絡

  1. APP改用https請求app

  2. targetSdkVersion 降到27如下ide

  3. 更改網絡安全配置ui

第三個方案以下:加密

  1. 在res文件夾下建立一個xml文件夾,而後建立一個network_security_config.xml文件,文件內容以下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>
複製代碼
  1. 接着,在AndroidManifest.xml文件下的application標籤增長如下屬性:
<application
...
 android:networkSecurityConfig="@xml/network_security_config"
...
/>
複製代碼

這樣就App訪問網絡了spa

相關文章
相關標籤/搜索