android 9.0 闪退解决办法
1、android 9.0 httpclient相关类被移除,如果还在使用将崩溃。
解决办法:
官方推荐使用HttpUrlConnection,如果要继续使用需要Apache HttpClient,需要在app build.gradle中加入:
android {
useLibrary 'org.apache.http.legacy'
}
2、android 9.0 限制了明文请求的传输。
解决办法:
在 res/xml 文件夹下新建一个 xml 文件 network_security_config.xml,配置下面信息:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
在Manifest文件里面增加对于xml的配置:
<application
android:networkSecurityConfig="@xml/network_security_config"
android:usesCleartextTraffic="true">
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
</application>
3、限制在非activity内,不使用NewTask启动模式启动activity
解决办法:
修改没有在非activity内,没有使用NewTask启动模式的启动方法。
4、某些权限,未正常获取,这块,需要对应的功能分析。建议在使用需要获取权限的功能前, 判断是否已经授权处理,推荐使用rxpermission。
希望对您有帮助~