
IM即时通讯
安全可靠、全球互通

实时音视频
流畅稳定、省钱省力
回答:
Android 9.0 开始,默认不允许明文传输,所以在建立网络连接时会使用 https 连接,同时进行安全认证。如果应用没有做对应处理,即会发生上述异常。
解决方法有两种:
一. 在应用里声明允许明文传输.
1. 在应用的 res/xml 文件夹下新建 network_security_config.xml 文件
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true" /> </network-security-config>
2. 在 AndroidManifest.xml 的 application 节点下,配置允许明文传输的属性。
<application android:name=".myApp" android:allowBackup="true" android:icon="@drawable/seal_app_logo" android:label="@string/app_name" android:networkSecurityConfig="@xml/network_security_config" android:supportsRtl="true" android:theme="@style/AppTheme">
通过上述配置后,在 Android 9.0 手机上会仍然使用 http 连接,即明文传输的方式。
二. 不使用明文传输,使用 https 方式。
如果在应用里没有声明允许明文传输,那么 SDK 默认在 Android 9.0 系统上会使用 https 连接方式,也就意味着会进行安全认证。
如果您是公有云用户,则不需要处理,融云服务已经配置了安全证书。
如果您是私有云客户,且使用自签证书的话,
使用imlib, 2.10.6.3版本以下:
需要调用下面的 API , 参数传 true
/** * 设置建立 Https 连接时,是否使用自签证书。 * <p> 此方法需要在 {@link #init(Context)}之前调用。</p> * <p> 如果不调用此方法, SDK 连接时会按默认证书处理</p> * * @param isEnable 是否使用自签证书。true 使用自签证书;false, 使用默认证书。 */ public void enableHttpsSelfCertificate(final boolean isEnable)
使用imlib, 2.10.6.3以上:
参考该链接: