You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native集成amazon-ivs-react-native-player Android编译报错求助

解决Amazon IVS React Native Player Android编译时When表达式不穷尽的错误

临时修复(直接修改本地依赖文件)

  • 找到本地项目中依赖的模块文件路径:node_modules/amazon-ivs-react-native-player/android/src/main/kotlin/com/amazonivs/reactnative/AmazonIvsView.kt
  • 定位到第296行的when表达式,补充缺失的BUFFERING、IDLE、ENDED分支,或者添加else分支兜底:
    when (playerState) {
        PlayerState.PLAYING -> {
            // 保留原有PLAYING状态的处理逻辑
        }
        PlayerState.PAUSED -> {
            // 保留原有PAUSED状态的处理逻辑
        }
        PlayerState.BUFFERING -> {
            // 可选:添加缓冲状态的处理,比如向RN侧发送事件
            sendEvent("onBuffering", null)
        }
        PlayerState.IDLE -> {
            // 可选:添加空闲状态的处理逻辑
        }
        PlayerState.ENDED -> {
            // 可选:添加播放结束的处理,比如发送结束事件
            sendEvent("onEnded", null)
        }
        else -> {} // 兜底分支,避免编译报错
    }
    
  • 保存修改后,重新执行npx react-native run-android

持久化修复(避免依赖更新覆盖修改)

使用patch-package工具给模块打补丁,确保修改不会被后续npm install覆盖:

  1. 安装依赖:npm install patch-package --save-dev
  2. 修改完上述文件后,执行命令生成补丁:npx patch-package amazon-ivs-react-native-player
  3. 项目根目录会生成patches/amazon-ivs-react-native-player+[模块版本号].patch文件,将该文件提交到版本控制
  4. 其他开发者拉取代码后,执行npx patch-package即可自动应用补丁

长期解决建议

向amazon-ivs-react-native-player官方仓库提交Issue,描述该编译错误并附上修复代码,或者直接提交PR帮助官方修复这个问题,避免其他开发者遇到同样的问题

内容的提问来源于stack exchange,提问作者Ugur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 00:25:01