報錯起因
新建項目時targetSdkVersion = 28,28對應的是Android 9.0,在此版本中強制使用https,所以當使用http協議運行在9.0手機上時就會報java.net.UnknownServiceException: CLEARTEXT communication to
錯誤,拿不到後臺數據。
解決方案
- 修改targetSdkVersion版本小於28;
- 只運行在Android 9.0之前版本的手機;
- 乖乖聽話使用https;
- 就想使用http怎麼辦?
使用http的解決辦法
第一步:res/xml下面新建文件network_security_config.xml(名字隨意)
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
第二步:在application節點下配置networkSecurityConfig屬性
android:networkSecurityConfig="@xml/network_security_config"