React Native Agora 3.5.0 Android端报RtcEngineContext不是构造器错误
问题原因
- 你当前使用的
RtcEngineContext构造函数、createWithContext初始化方法和3.5.0版本的react-native-agora API不匹配。3.5.0版本仅iOS端做了该API的临时兼容,安卓端未导出对应构造函数,因此出现iOS运行正常、安卓报错的问题。 createWithContext与RtcEngineContext是3.6.0及以上版本才新增的跨端统一API,3.5.0版本原生层安卓端未实现对应能力。
修复方案
可选择以下任意一种方案解决:
方案1:调整初始化代码适配3.5.0版本
修改_initEngine方法中的引擎初始化逻辑,替换为3.5.0版本原生支持的create方法即可,不需要引入RtcEngineContext,修改后代码如下:
_initEngine = async () => { // 替换为3.5.0版本支持的旧版初始化方法 this._engine = await RtcEngine.create(config.appId); this._addListeners(); await this._engine.enableVideo(); await this._engine.startPreview(); await this._engine.setChannelProfile(ChannelProfile.LiveBroadcasting); await this._engine.setClientRole(ClientRole.Broadcaster); };
该方案代码改动量最小,不需要调整依赖版本,修改后双端均可正常运行。
方案2:升级react-native-agora到3.6.0及以上稳定版本
如果需要保留createWithContext相关写法,可以将react-native-agora依赖升级到3.6.0或更高的稳定版本,升级后双端统一支持对应API,不需要修改业务代码。
升级依赖后需要同步更新双端原生依赖:iOS端执行
pod install,安卓端清理构建缓存后重新打包即可。
内容的提问来源于stack exchange,提问作者masterAvatarr
相关产品推荐
相关产品推荐

