文章同步自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" />