React Native 应用程序不会尝试在调试模式下连接到 Metro Bundler
Posted
技术标签:
【中文标题】React Native 应用程序不会尝试在调试模式下连接到 Metro Bundler【英文标题】:React Native app does not attempt to connect to Metro Bundler in debug mode 【发布时间】:2020-12-21 20:14:51 【问题描述】:我一直在维护一个安装了 React Native v0.59.9 的应用程序。在过去的一个月里,我已经能够运行 ios 版本,但现在在调试模式下遇到了 android 版本的问题。该应用程序似乎完全忽略了 Metro Bundler。我运行 react-native run-android --variant=variantnameDebug
通过 USB 在开发手机上安装应用程序。
应用程序构建和加载,但是,在启动时它不是从捆绑程序加载的。应用程序中的绿色加载栏覆盖不会出现,并且终端中的捆绑程序窗口没有显示设备正在尝试连接它的任何指示。此外,如果我关闭机器上的捆绑程序并重新启动应用程序,它仍会像以前一样启动。最后,如果应用程序遇到错误,则不会出现红色崩溃屏幕,并且应用程序会像原生应用程序一样崩溃。这几乎感觉就像它正在运行一个没有任何 RN 开发组件的发布版本。
另一个奇怪的事情是图像资源没有加载。这导致我尝试生成调试包并直接明确指定资产:
react-native bundle --platform android --dev true --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest assets/
没有运气。根据另一个建议,我尝试将 android:usesCleartextTraffic="true"
添加到我的清单中,但无济于事。
在网络上搜索this common problem. 有很多结果我非常熟悉这个问题,但这似乎有所不同。
非常感谢任何帮助。
【问题讨论】:
【参考方案1】:我遇到了确切的问题,经过几个小时后,结果证明这是我的 MainApplication.java 中的一行简单代码
如果有以下行,请删除:
import com.facebook.react.BuildConfig;
【讨论】:
以上是关于React Native 应用程序不会尝试在调试模式下连接到 Metro Bundler的主要内容,如果未能解决你的问题,请参考以下文章
Detox E2E 测试不会在 react-native 项目上运行
React-Native 远程调试器无法在 iPhone 上运行