Andorid 9.0兼容性问题

Posted by Don on July 3, 2019

网络兼容性问题

Andorid P(9.0)禁止使用非加密的明文流量的http网络请求,默认使用https协议。
针对上面的问题,目前有以下几种解决方案:

  • 改用https请求
  • targetSdkVersion 降到28以下
  • 修改安全配置,有2中方案,如下所示:
    • 方案一

    1.将如下代码添加到AndroidManifer.xml的Application节点中

    android:usesCleartextTraffic="true" 
    
    • 方案二

    1.在res文件夹下创建一个xml文件夹,然后创建一个network_security_config.xml文件,文件内容如下:

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <base-config cleartextTrafficPermitted="true">
            <trust-anchors>
                <certificates src="system" overridePins="true" />
                <certificates src="user" overridePins="true" />
            </trust-anchors>
        </base-config>
    </network-security-config>
    

    2.将如下代码添加到AndroidManifer.xml的Application节点中

    android:networkSecurityConfig="@xml/network_security_config"
    

    刘海屏幕适配

    点此可看刘海屏幕适配详情