文章同步自javaexception
本周在适配Android 9.0,过程中碰到了小问题
问题1:
SSL handshake timed out
解决办法:
Android 9.0 开始,默认不允许明文传输,所以在建立网络连接时会使用 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>标签里面添加android:networkSecurityConfig=\"@xml/network_security_config\"即可解决此问题
问题2:
Android p 设备报错java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion
解决办法:
在androidManifest.xml文件的<Application>标签的内部,添加一个子标签,内容为
<uses-library android:name=\"org.apache.http.legacy\" android:required=\"false\" />