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

使用Expo自定义开发客户端集成react-native-track-player报错求助

Expo + react-native-track-player 双错误原因分析

TypeError: null is not an object (evaluating ‘TrackPlayer.RATING_HEART’)

  • 版本兼容性问题:react-native-track-player当前版本与你使用的Expo(尤其是expo-dev-client)环境不匹配,部分常量(如RATING_HEART)未被正确注入到Expo的原生运行环境中。
  • 配置流程缺失:未按照Expo适配要求完成库的配置,比如跳过了expo prebuild步骤,或者未安装该库对应的Expo适配插件(若存在),导致原生层未正确集成该库的常量定义。
  • 初始化时机错误:在TrackPlayer完成初始化前就调用了RATING_HEART这类静态常量,此时模块尚未完成加载,返回null引发报错。

Invariant Violation: “main” has not been registered

  • Metro运行目录错误:使用expo-dev-client时,必须在项目根目录启动Metro服务器。若在子目录启动,Metro无法正确识别项目入口文件,导致入口组件未被注册。
  • 模块加载异常中断流程:react-native-track-player的安装或配置错误引发了模块加载失败,打断了App的初始化流程,使得AppRegistry.registerComponent代码未被执行。
  • 原生文件未更新:执行expo prebuild后未重新生成原生客户端文件,或者原生文件被篡改,导致入口注册的核心逻辑失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:18:31