You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行npx react-native run-android时Metro bundler启动后终止

React Native Metro打包器中途崩溃,调试流程异常缓慢

我用React Native开发应用已有2年,此前运行和更新均无问题。近期执行npx react-native run-android时,Metro打包器启动后会中途关闭,虽然应用能正常安装并启动,但每次验证小改动都得先执行npx react-native bundle再重新运行npx react-native run-android,每次要等待3-4分钟,效率极低。

*打包命令:react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

开发环境

  • 操作系统:Windows 10
  • 代码编辑器:Visual Studio Code
  • React Native版本:0.67.2

已尝试的解决方法

  • 执行cd android && ./gradlew clean && cd ../命令
  • 删除node_modules文件夹后执行npm install

npx react-native run-android命令输出

> AppName@0.0.1 android
> react-native run-android

警告:包@react-native-masked-view/masked-view因配置无效被忽略,原因:找不到模块'@react-native-masked-view\masked-view\package.json'
依赖栈:
- C:\DATA\Projects\ProjectName\Code\AppName\node_modules\@react-native-community\cli-tools\build\resolveNodeModuleDir.js
- C:\DATA\Projects\ProjectName\Code\AppName\node_modules\@react-native-community\cli-tools\build\releaseChecker\index.js
- C:\DATA\Projects\ProjectName\Code\AppName\node_modules\@react-native-community\cli-tools\build\index.js
- C:\DATA\Projects\ProjectName\Code\AppName\node_modules\@react-native-community\cli\build\tools\config\resolveNodeModuleDir.js
- C:\DATA\Projects\ProjectName\Code\AppName\node_modules\@react-native-community\cli\build\tools\config\resolveReactNativePath.js
- C:\DATA\Projects\ProjectName\Code\AppName\node_modules\@react-native-community\cli\build\tools\config\index.js
- C:\DATA\Projects\ProjectName\Code\AppName\node_modules\@react-native-community\cli\build\commands\install\install.js
- C:\DATA\Projects\ProjectName\Code\AppName\node_modules\@react-native-community\cli\build\commands\index.js
- C:\DATA\Projects\ProjectName\Code\AppName\node_modules\@react-native-community\cli\build\index.js
- C:\DATA\Projects\ProjectName\Code\AppName\node_modules\@react-native-community\cli\build\bin.js
信息:正在运行jetifier迁移库到AndroidX,可通过"--no-jetifier"参数禁用
Jetifier找到1282个文件需要向前兼容转换,使用8个工作线程...
信息:启动JS服务器...
信息:安装应用...

> 任务 :app:processDebugMainManifest
为确保正确性,任务':app:processDebugMainManifest'的执行优化已禁用,原因如下:
  - Gradle检测到以下路径存在问题:'C:\DATA\Projects\ProjectName\Code\AppName\android\app\build\intermediates\navigation_json\debug\navigation.json'。原因:任务':app:processDebugMainManifest'使用了任务':app:copyDebugIconFonts'的输出,但未声明显式或隐式依赖,可能导致任务执行顺序不同时产生错误结果。

> 任务 :app:processDebugManifest
为确保正确性,任务':app:processDebugManifest'的执行优化已禁用,原因如下:
  - Gradle检测到以下路径存在问题:'C:\DATA\Projects\ProjectName\Code\AppName\android\app\build\intermediates\compatible_screen_manifest\debug'。原因:任务':app:processDebugManifest'使用了任务':app:copyDebugIconFonts'的输出,但未声明显式或隐式依赖,可能导致任务执行顺序不同时产生错误结果。
  - Gradle检测到以下路径存在问题:'C:\DATA\Projects\ProjectName\Code\AppName\android\app\build\intermediates\merged_manifest\debug\AndroidManifest.xml'。原因:任务':app:processDebugManifest'使用了任务':app:copyDebugIconFonts'的输出,但未声明显式或隐式依赖,可能导致任务执行顺序不同时产生错误结果。

> 任务 :app:compressDebugAssets
为确保正确性,任务':app:compressDebugAssets'的执行优化已禁用,原因如下:
  - Gradle检测到以下路径存在问题:'C:\DATA\Projects\ProjectName\Code\AppName\android\app\build\intermediates\assets\debug\mergeDebugAssets'。原因:任务':app:compressDebugAssets'使用了任务':app:copyDebugIconFonts'的输出,但未声明显式或隐式依赖,可能导致任务执行顺序不同时产生错误结果。

> 任务 :app:processDebugManifestForPackage
为确保正确性,任务':app:processDebugManifestForPackage'的执行优化已禁用,原因如下:
  - Gradle检测到以下路径存在问题:'C:\DATA\Projects\ProjectName\Code\AppName\android\app\build\intermediates\merged_manifests\debug'。原因:任务':app:processDebugManifestForPackage'使用了任务':app:copyDebugIconFonts'的输出,但未声明显式或隐式依赖,可能导致任务执行顺序不同时产生错误结果。

> 任务 :app:mergeDebugJavaResource
为确保正确性,任务':app:mergeDebugJavaResource'的执行优化已禁用,原因如下:
  - Gradle检测到以下路径存在问题:'C:\DATA\Projects\ProjectName\Code\AppName\android\app\build\intermediates\java_res\debug\out'。原因:任务':app:mergeDebugJavaResource'使用了任务':app:copyDebugIconFonts'的输出,但未声明显式或隐式依赖,可能导致任务执行顺序不同时产生错误结果。

> 任务 :app:mergeLibDexDebug
为确保正确性,任务':app:mergeLibDexDebug'的执行优化已禁用,原因如下:
  - Gradle检测到以下路径存在问题:'C:\DATA\Projects\ProjectName\Code\AppName\android\app\build\intermediates\duplicate_classes_check\debug'。原因:任务':app:mergeLibDexDebug'使用了任务':app:copyDebugIconFonts'的输出,但未声明显式或隐式依赖,可能导致任务执行顺序不同时产生错误结果。

> 任务 :app:mergeExtDexDebug
为确保正确性,任务':app:mergeExtDexDebug'的执行优化已禁用,原因如下:
  - Gradle检测到以下路径存在问题:'C:\DATA\Projects\ProjectName\Code\AppName\android\app\build\intermediates\duplicate_classes_check\debug'。原因:任务':app:mergeExtDexDebug'使用了任务':app:copyDebugIconFonts'的输出,但未声明显式或隐式依赖,可能导致任务执行顺序不同时产生错误结果。
  - Gradle检测到以下路径存在问题:'C:\DATA\Projects\ProjectName\Code\AppName\android\app\build\intermediates\external_file_lib_dex_archives\debug'。原因:任务':app:mergeExtDexDebug'使用了任务':app:copyDebugIconFonts'的输出,但未声明显式或隐式依赖,可能导致任务执行顺序不同时产生错误结果。

> 任务 :app:mergeDebugNativeLibs
为确保正确性,任务':app:mergeDebugNativeLibs'的执行优化已禁用,原因如下:
  - Gradle检测到以下路径存在问题:'C:\DATA\Projects\ProjectName\Code\AppName\android\app\build\intermediates\merged_jni_libs\debug\out'。原因:任务':app:mergeDebugNativeLibs'使用了任务':app:copyDebugIconFonts'的输出,但未声明显式或隐式依赖,可能导致任务执行顺序不同时产生错误结果。

> 任务 :app:stripDebugDebugSymbols
为确保正确性,任务':app:stripDebugDebugSymbols'的执行优化已禁用,原因如下:
  - Gradle检测到以下路径存在问题:'C:\DATA\Projects\ProjectName\Code\AppName\android\app\build\intermediates\merged_native_libs\debug\out'。原因:任务':app:stripDebugDebugSymbols'使用了任务':app:copyDebugIconFonts'的输出,但未声明显式或隐式依赖,可能导致任务执行顺序不同时产生错误结果。

> 任务 :app:installDebug
正在设备'SM-A530F - 9'上安装APK 'com.appname-2.5-29-debug.apk'(对应任务:app:debug)
已在1台设备上完成安装。

本次构建使用了已废弃的Gradle特性,无法兼容Gradle 8.0。

可使用'--warning-mode all'参数查看具体废弃警告,判断警告来自自定义脚本还是插件。

构建成功,耗时1分1秒
293个可执行任务:11个已执行,282个已最新
信息:连接开发服务器...
信息:在"5200ba9a5e7cc481"上启动应用...
启动:Intent { cmp=com.appname/.MainActivity }

补充信息

已捕获Metro窗口的错误日志,错误在npx react-native run-android输出> Task :app:stripDebugDebugSymbols时触发,日志如下:

重新加载应用请按"r"
打开开发者菜单请按"d"

C:\...\MyProyectName\node_modules\metro-hermes-compiler\src\emhermesc.js:77
           throw ex;
           ^

错误:EPERM:操作不被允许,lstat 'C:\...\MyProyectName\android\app\build\intermediates\stripped_native_libs\debug\out\lib\armeabi-v7a\libevent_extra-2.1.so.tmp1e1f3c7'
在NodeWatcher实例上触发了'error'事件:
    at NodeWatcher.<anonymous> (C:\...\MyProyectName\node_modules\sane\src\node_watcher.js:291:16)
    at FSReqCallback.oncomplete (node:fs:207:21) {
  errno: -4048,
  code: 'EPERM',
  syscall: 'lstat',
  path: 'C:\\...\\MyProyectName\\android\\app\\build\\intermediates\\stripped_native_libs\\debug\\out\\lib\\armeabi-v7a\\libevent_extra-2.1.so.tmp1e1f3c7'
  
Node.js v18.13.0

内容的提问来源于stack exchange,提问作者Jon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 08:12:06