不变违规:“trackerApp”尚未注册

时间:2021-04-20 16:00:54

标签: javascript android typescript react-native mobile

由于以下错误,我挣扎了几天:

 **Invariant Violation: "trackerApp" has not been registered. This can happen if:
* Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project.
* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.**

我检查了一切,但没有任何效果。

app.json 中的代码

{
  "name": "trackerApp",
  "displayName": "trackerApp"
}

index.js 中的代码

import {AppRegistry} from 'react-native';
import App from './App';
// import {name as appName} from './app.json';
import { name as appName } from "./app.json";
// import App from "./src/App.tsx";

// Register the service
AppRegistry.registerComponent(appName, () => App);

1 个答案:

答案 0 :(得分:0)

尝试清理缓存

cd android

然后

./gradlew clean

重新构建

如果不起作用,请删除 node_modules 文件夹并使用 yarn installnpm install 重新安装软件包。

如果仍然不起作用,请检查这些文件是否都有“trackerApp”

1 - root/package.json (通常在第 2 行)

{"name": "trackerApp"}

2 - root/android/settings.gradle

rootProject.name = 'trackerApp'

3 - root/android/app/src/debug/java/com/trackerApp/ReactNativeFlipper.java (在注释下方的第一行代码中)

package com.trackerApp;

4 - root/android/app/src/main/java/com/trackerApp/ReactNativeFlipper.java

<块引用>

内部函数 initializeFlipper 检查是否是 com.trackerApp.ReactNativeFlipper

Class<?> aClass = Class.forName("com.trackerApp.ReactNativeFlipper");