应用程序主体尚未注册

Posted

技术标签:

【中文标题】应用程序主体尚未注册【英文标题】:Application main has not been registered 【发布时间】:2018-08-30 19:06:34 【问题描述】:

我最近开始转换我的 react 本机应用程序并在 Expo 上运行,因此我可以在我的实际 android 设备上进行测试。我在上面收到此错误。从那时起,我就使用 Expo XDE 运行我的应用程序。我也在 Windows 机器上运行。

完整的错误信息是:

]1

我认为这与我的 index.js 有关,但在这里

import  AppRegistry  from 'react-native';
import App from './App';

AppRegistry.registerComponent('projectTARA', () => 'App');

【问题讨论】:

你用的是什么版本的expo? 你改项目名了吗? 我正在使用 expo "25.0.0.0" 。 @QoP, 不,我确实更改了我的项目名称。我的根文件夹名为 projectTARA @Rafael Motta 解决了我必须更改 AppRegistry.registerComponent('main', => App); 【参考方案1】:

问题是您还没有在 Android Studio 中打开您的项目。上一个项目在android studio中运行,而你正在模拟器中运行最新的项目。

【讨论】:

AppRegistry.registerComponent('main',() => App); 错误是这样解决的 @RishavKumar 没有从 app.json 导入任何内容? @Gha app.json?它有什么作用? 试试这个: import AppRegistry from 'react-native';从'./App'导入应用程序; AppRegistry.registerComponent('main',() => App);【参考方案2】:

以下解决方案有效:

AppRegistry.registerComponent('main',() => App);

致谢:Rishav Kumar

(你们就不能回复标记为解决吗?)

【讨论】:

虽然这可能会有所帮助,但原因取决于本机代码中的“index.android”或“index.ios”如何。例如在 android 案例中,这里的最后一个答案可以帮助***.com/questions/38340360/… 这是应该在命令提示符下输入还是放在文件中?【参考方案3】:

我从“Doco”创建了一个项目,并使用练习保存它。所以这样写那一行

AppRegistry.registerComponent('Practice', () => FixedDimensionsBasics);

然后我收到类似问题的错误

所以,我检查了 ios 文件夹中的 Appdelegate.m 文件,发现项目名称是 Project 所以我用

改变那行
AppRegistry.registerComponent('Project', () => FixedDimensionsBasics);

我的错误解决了

所以如果您使用的是“Doco”,那么请检查一下。

【讨论】:

【参考方案4】:

我遇到了这个问题,因为我之前运行了一个没有完全关闭的 React 项目。要解决此问题,我本可以重新启动计算机。但我选择这样做:(使用 MacOS,应该也适用于 Linux,对于 Windows,您可能需要使用任务管理器或类似工具):

    打开终端 通过键入“lsof -i :8081”查找正在使用端口 8081 的程序。 (注意这是小写的LSOF) 查看进程 ID(在 PID 列下) 通过键入“kill -9 PID”终止进程(其中 PID 是您在步骤 3 中找到的进程 ID 号)。

终止进程后,您应该能够运行您的 react-native 项目。

【讨论】:

【参考方案5】:

删除了 node_modules 并由对我有用的 yarn 重新安装。

【讨论】:

这发生在我身上,因为我全局更新了 expo,但该项目是用旧版本生成的,所以你的解决方案成功了

以上是关于应用程序主体尚未注册的主要内容,如果未能解决你的问题,请参考以下文章

如何判断推送通知是尚未注册还是已关闭?

应用尚未注册(react-native-navigation v2)

Django ForeignKey 默认 - 应用程序注册表尚未准备好

ASP.NET 4.0尚未在 Web 服务器上注册 解决方法

使用 OPENROWSET 将 SQL 结果导出到 Excel,但提供程序尚未注册

OLE DB 提供程序“ADSDSOObject”尚未注册 - 在 Azure SQL 托管实例中