1

在过去的 1.5 天左右,我试图让 react-native-track-player 工作,但我无法实现。无论我尝试什么,我总是最终遇到相同的错误块:

ERROR  TypeError: null is not an object (evaluating 'TrackPlayer.RATING_HEART')
ERROR  Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect. 
      This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.

我用react-native expo和 'normal' react-native(根据 react-native docu)设置它JSTS。对于我尝试过的所有变体:

  • 删除/重新安装节点模块
  • npm cache verify(如此处所述,(来自此处)和其他一些缓存重置/删除的东西。react-native start --reset-cache
  • 我已经从他们的 GitHub 存储库中复制了示例。
  • 我几乎更新和/或重新安装了每个库(包括node

所有这些努力都以完全相同的错误告终。

所以你,我真的不知道该怎么办了。一般来说,我是 react-native 和 app dev 的初学者。所以说实话,我犯的错误很可能是超级愚蠢/简单的。但我就是找不到。如果有任何建议,我将不胜感激。

编辑 - 依赖错误: 在此处输入图像描述

编辑 2:解决方案 -react-native删除jcenter之间v0.64 v0.65是我所有问题的根源,请查看下面的答案以获取详细信息。

4

2 回答 2

2

编辑:jcenter()肯定会被删除。检查GitHub 线程以获取有关如何处理的更多信息react-native-track-player

好的,虽然从他们的仓库中克隆了这个例子(感谢@AngwarGul),但我仍然想弄清楚为什么会这样。事实证明,错误的根本原因在于build.gradle文件。

我一直在使用react-native@0.65.1并且不知道 from v0.64tov0.65 jcenter 已从react-native 中删除。因此,在运行react-native run-android应用程序时无法构建,因为它找不到 jcenter。所以是的,我可能早就意识到了这一点,但我一直在寻找除了那里之外的任何地方。

TL;DR:添加jcenter()到 build.gradle 文件为我解决了整个问题(见下图)。所以,如果其他人犯了同样的愚蠢错误,这是你的解决方案;)

在此处输入图像描述

于 2021-09-13T08:16:44.510 回答
1

不幸的是,通过查看react-native-track-player 的文档,这个包不支持 expo Expo 和 Expokit 支持 http://react-native-track-player.js.org/install/#expo-and-expokit-support

我如何设法从包中运行示例项目

脚步:

  • 克隆的 react-native-track-player

  • 将示例项目从包中分离出来 分离的示例项目

  • postinstall从 package.json 的脚本中 删除删除安装后脚本

  • 在依赖项中添加包"react-native-track-player": "^2.0.1",

  • yarn install或者npm install

  • yarn android或者npm run android

结果

示例项目运行

于 2021-09-12T11:27:03.030 回答