android -------- java.net.UnknownServiceException
阿新 • • 發佈:2019-06-13
最近升級了Android的API版本時 ,導致我的網路請求失敗了,
出現了這個錯誤 java.net.UnknownServiceException,
這個錯誤,我在網上查到這個主要是由於,我們的OkHttp3會預設使用密文傳輸,而我們的程式碼中使用Http協議,也就是使用明文傳輸,所以OkHttp3會主動的報錯,然後阻止執行緒的執行。所以我們現在就是要修改配置檔案,使OkHttp3允許使用明文傳輸,或者我們直接使用Https協議。
解決方法:
在 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 標籤內應用上面的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-config