React Native使用Metro进行debug和release版本的构建

3
我正在开发一个React Native应用程序,当我运行我的调试构建时,我可以使用以下命令使用Metro工具进行调试。
npx react-native start 

npx react-native run-android

神奇的是我的模拟器弹出来了,如果我在地铁终端中点击“d”,它就会激活我的调试工具。

当我运行时

npx react-native run-android --variant=release 

当我在地铁终端点击“d”时,它会显示:
warn No apps connected. Sending "devMenu" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.

信息 打开开发者菜单...

发布版本是否有什么不允许使用这些调试工具的问题,或者我需要在 build.gradle 或其他配置文件中进行一些操作才能启用使用 Metro 调试器。

我是 React Native 开发的新手,如果我的术语不正确,请谅解。

感谢您的帮助!


1
据我所知,您无法调试“发布版本”。如果您需要查看更多信息,请使用警报进行检查。 - Maneesh
感谢@Maneesh,我很感激你的建议。其他人也给了我同样的反馈,但令人沮丧的是,我的调试版本可以正常运行,而发布版本却不能。所以没有调试工具真的很难进行调试。 - Phillip Stack
你能更具体地说明一下你所说的“alert”是什么意思吗?你是指JavaScript命令还是某个特定的React Native模块? - Phillip Stack
我可以知道,在生产环境中到底哪些部分出了问题?是JS代码还是本地插件? - Maneesh
我也遇到了这个问题。 - Rohit Kumar
调试版本可以,但发布版本会出现空白屏幕。 - Rohit Kumar
2个回答

4

在收到来自SO内外的各种反馈后,似乎调试器并不适用于发布版本。

在我的情况下,gradle配置中涉及react-native-config存在问题,这是一个与Progaurd相关的已知问题,只会影响发布版本。

如推荐帖子所述,我使用了javascript的alert()方法来调试该问题。


你可以使用“debugger”代替“alert”,这将在你的代码中设置一个断点,以便你可以在Chrome Dev工具(或任何你打开的Dev工具)中进行调试。 - Brian Weinreich
很遗憾,您无法在生产构建上启用调试器。 - Phillip Stack

1

将您的设备与Metro连接。然后需要运行以下命令:

npx react-native log-android

之后运行以下命令:

npx react-native run-android --variant=release

您的日志将显示在Metro控制台中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接