美文网首页Android
Android 9 适配遇到的坑及解决方案

Android 9 适配遇到的坑及解决方案

作者: 码农ing | 来源:发表于2021-05-19 22:30 被阅读0次

    最近在思考个问题-----APK 运行权限与文件系统权限的区别是什么?



    在适配Android 9 上遇到的问题来啦!!!!Android 10 适配问题总结持续中....

    问题1:Http请求失败SSL handshake timed out

    解决办法:

            Android 9.0 开始,默认不允许明文传输,所以在建立网络连接时会使用 https 连接,同时进行安全认证。如果应用没有做对应处理,即会发生上述异常。在应用中的res/xml目录添加network_security_config.xml文件。内容如下:

    接着在androidManifest.xml文件的<Application>标签里面添加android:networkSecurityConfig="@xml/network_security_config"即可解决此问题

     以上这是一种简单粗暴的配置方法,要么支持http,要么不支持http。为了安全灵活,我们可以指定支持的http域名:

    问题2:Apache HTTP 客户端弃用

            在 Android 6.0 时,就已经取消了对 Apache HTTP 客户端的支持。 从 Android 9.0 开始,默认情况下该库已从 bootclasspath 中移除,但是耐不住有些SDK中还在使用,导致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" />

    问题3:FOREGROUND_SERVICE 权限,引发 SecurityException

    问题4:启动Activity异常

          在9.0 中,不能直接非 Activity 环境中(比如Service,Application)启动 Activity,否则会崩溃报错;

    这类问题一般会在点击推送消息跳转页面这类场景,解决方法就是 Intent 中添加标志FLAG_ACTIVITY_NEW_TASK。

    相关文章

      网友评论

        本文标题:Android 9 适配遇到的坑及解决方案

        本文链接:https://www.haomeiwen.com/subject/zqemjltx.html