EAS Build (Android) .apk 崩溃,Expo Build .apk 正常运行
2022-05-19
4410
在使用 expo build 几年后,我正在将 React Native 应用更新到 EAS Build。该应用通过开发服务器运行。
运行 eas build 后,.apk 文件成功构建,但在设备上打开时立即崩溃。
我的错误日志是:
TypeError: undefined is not an object (evaluating 't.indexOf')
Running "main" with {"rootTag":1}
Invariant Violation: "main" 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.
有人遇到过这个错误吗?
2个回答
我也遇到了问题,但阅读文档后,有些事情发生了变化。
-
您是否正在从“expo build”迁移 Expo 托管应用程序? 了解差异 。
-
他们必须创建一个索引文件( reference ),其中包含:
import { registerRootComponent } from 'expo'; import App from './src/App'; registerRootComponent(App);
(如果
App.js
在根目录中,请删除/src
,以便它们具有./App
)然后,从
package.json
中删除整行main
。 -
并且 [这是最困难的一步] ( https://docs.expo.dev/build-reference/migrating/#metroconfigjs--must-export-the-entire-default
,它花费了我
leandro suarez
2022-06-02
我也有同样的问题
不变违规:“main”尚未注册。如果出现以下情况,则可能发生这种情况:
- Metro(本地开发服务器)从错误的文件夹运行。检查 Metro 是否正在运行,停止它并在当前项目中重新启动它。
-
由于错误,模块加载失败,并且未调用
AppRegistry.registerComponent
。
Munawar Kholil
2022-05-24