在发布版本中加载启动画面后 Nativescript 8 屏幕冻结

Nativescript 8 Screen freeze after splash screen is loaded in release build

伙计们,我正在做我自己的一个项目,我正在使用

nativescript 8.2.1 along with angular 13.2.0

当我们使用以下命令 运行 项目

时,我遇到了一些奇怪的问题

"ns run android"

应用程序正在编译并运行在模拟器上正常运行。

但如果我构建到生产环境并在模拟器上 运行 它,我只能看到空白屏幕或白屏,这是用于此的命令

"ns run android --clean --release --key-store-path "PATH/my-release-key.keystore" --key-store-password myPass --key-store-alias myAlias --key-store-alias-password myPass"

这是截图

这是我的根路由的样子,重定向到主路由不起作用。但我测试了如果我向 app.component.html 添加一个按钮,那么我可以在模拟器屏幕上看到该按钮。但路由不起作用

这个问题是当我们只使用 --release 命令构建时导致的,否则调试模式它工作正常。

需要你的帮助

经过几天的调试,我终于弄清楚了生产构建屏幕冻结的原因。

This is happening due to Firebase

我通过 Nativescript 版本 8 文档将 firebase 配置到我的应用程序,这是我所做的配置 https://docs.nativescript.org/plugins/firebase-firestore.html

npm install @nativescript/firebase-firestore

//importing firebase modules
import { firebase } from "@nativescript/firebase-core";
import "@nativescript/firebase-firestore";

//Initialize firebase as per nativescript documentation
await firebase().initializeApp();

在调试模式下,这工作正常,没有任何问题,但生产版本构建它不工作。

为了解决这个问题。我使用了不同的 firebase 包。 这是文档 link https://github.com/EddyVerbruggen/nativescript-plugin-firebase

如果您是 NativeScript 7+:

tns plugin add @nativescript/firebase

对于 NativeScript 6:

tns plugin add nativescript-plugin-firebase

谢谢..