最近升級了Android的API版本時 ,致使個人網絡請求失敗了,html
出現了這個錯誤 java.net.UnknownServiceException,java
這個錯誤,我在網上查到這個主要是因爲,咱們的OkHttp3會默認使用密文傳輸,而咱們的代碼中使用Http協議,也就是使用明文傳輸,因此OkHttp3會主動的報錯,而後阻止線程的運行。因此咱們如今就是要修改配置文件,使OkHttp3容許使用明文傳輸,或者咱們直接使用Https協議。android
解決方法:網絡
在 res 下新建一個 xml 目錄,而後建立一個名爲:network_security_config.xml 文件 app
該文件內容以下:.net
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true" /> </network-security-config>
而後在 AndroidManifest.xml application 標籤內應用上面的xml配置:
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:largeHeap="true" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:networkSecurityConfig="@xml/network_security_config" android:theme="@style/AppTheme" > </application>
這樣就歐克了線程
官方文檔: https://developer.android.com/training/articles/security-config3d