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

集成react-native-track-player出现RATING_HEART空对象及AppRegistry报错如何解决?

问题解决方案

报错的核心根因为React Native v0.64升级至v0.65版本时,官方默认移除了jcenter仓库配置,但react-native-track-player的部分底层原生依赖仍托管在jcenter,导致安卓构建阶段无法拉取对应依赖包,原生模块没有被正确编译注入,因此JS层调用TrackPlayer时会拿到null值触发首个报错,后续的AppRegistry报错是初始化阶段异常抛出后的连锁错误。你之前执行的JS端依赖重装、缓存清理操作都无法解决该问题,因为问题根源在安卓原生构建的仓库配置环节。

修复步骤

  • 原生React Native项目修复:
    1. 打开安卓项目配置文件android/build.gradle,找到allprojects.repositories配置段,新增jcenter仓库地址,配置参考如下:
    allprojects {
        repositories {
            // 新增jcenter仓库配置,放在mavenCentral之前
            maven { url 'https://jcenter.bintray.com' }
            mavenCentral()
            maven { url "https://www.jitpack.io" }
            // 其余原有仓库配置保持不变即可
        }
    }
    
    1. 进入安卓目录执行构建缓存清理命令:
      • Mac/Linux环境:./gradlew clean
      • Windows环境:gradlew clean
    2. 回到项目根目录重置Metro缓存后重启应用:react-native start --reset-cache
  • Expo工作流项目修复:
    react-native-track-player包含自定义原生代码,不支持直接在Expo Go中运行,需先执行expo prebuild生成原生工程,再按照上述原生项目的步骤修改gradle配置后重新运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 09:27:02