React Native Expo项目执行npm run android启动失败求助
React Native Android编译报错:路径过长及Ninja Manifest异常
核心错误分析
编译时触发两个关键问题:
- 项目路径过长,超出CMake的
CMAKE_OBJECT_PATH_MAX(250字符)限制,导致目标文件无法正确生成 - Ninja构建工具提示
manifest 'build.ninja' still dirty after 100 tries,说明构建缓存或文件存在异常
解决方案
缩短项目路径
Windows系统对文件路径长度有严格限制,将项目迁移到更短的路径下,比如从C:/Users/Mobile Apps/React Native/AwesomeProject改为C:/RN/AwesomeProject,直接减少路径字符数,从根源避免路径超限问题。清理构建缓存与依赖
- 删除Android端CMake缓存:
rd /s /q android\.cxx - 删除Gradle全局缓存:
rd /s /q %USERPROFILE%\.gradle\caches - 清理并重新安装Node依赖:
rm -rf node_modules && npm install - (Expo项目)重新生成原生项目文件:
npx expo prebuild --clean
- 删除Android端CMake缓存:
增大CMake路径长度限制
在android/app/build.gradle的CMake配置中添加路径长度参数,放宽限制:android { // ...其他配置 externalNativeBuild { cmake { arguments "-DCMAKE_OBJECT_PATH_MAX=512" } } }修复Ninja Manifest异常
- 关闭所有占用项目文件的进程(IDE、终端等),避免文件锁定
- 手动删除报错路径下的
build.ninja文件:
找到路径C:/Users/Mobile Apps/React Native/AwesomeProject/node_modules/expo-modules-core/android/.cxx/Debug/1g6k43ua/x86_64/build.ninja,删除后重新执行编译命令
内容的提问来源于stack exchange,提问作者drew
相关产品推荐
相关产品推荐

