之前有写一篇文章记录在Android 9.0中安装失败以及不兼容问题,结果之前那些方法都没有解决,所以花时间找了一下问题所在,结合网上找的方法总结记录一下,以备以后在遇到知道怎么解决.
首先在发生闪退之后需要在AndroidManifest.xml的application节点下 添加以下内容:
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
如图所示
加上这段代码之后本以为已经解决闪退问题了,可还是闪退
网上找到的说法是Android9.0 默认是禁止所有的http请求的,我们还需要在AndroidManifest.xml的application节点中加上android:usesCleartextTraffic="true" 属性,如下:
这样闪退问题就解决了
在这里再说一下application节点里的 android:networkSecurityConfig="@xml/network_security_config" 属性,之前文章也提到过,需要在res文件下新建xml文件,接着新建network_security_config.xml文件,里面的内容如下:
network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
两种方式都是说解决Android9.0 默认是禁止所有的http请求的,具体哪种方法适用,都试试就好