React Native 新建项目打包时卡壳 重启服务重建项目均无效果
React Native 安卓构建随机卡住问题排查方向
1. Gradle依赖拉取不稳定(最高概率原因)
国内默认访问谷歌、MavenCentral等官方镜像源网络波动极大,会出现随机拉取依赖超时卡住的情况,偶尔成功是刚好网络请求命中可用节点:
- 打开项目
android/build.gradle文件,将repositories块下的官方源替换为阿里云镜像:
maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
- 打开
android/gradle/wrapper/gradle-wrapper.properties,将distributionUrl对应的gradle包下载地址替换为国内镜像地址,避免gradle版本下载卡住。
2. Gradle构建配置不合理
- 打开
android/gradle.properties,调大JVM内存分配,修改参数为:org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 - 新增以下配置开启构建优化:
org.gradle.daemon=true org.gradle.parallel=true org.gradle.configureondemand=true android.useAndroidX=true android.enableJetifier=true
3. Metro缓存/端口冲突
- 每次运行前先清理缓存:
npx react-native start --reset-cache - 检查8081端口是否被其他Node服务、杀毒软件、后台进程占用,可通过
netstat -ano | findstr 8081(Windows)或lsof -i:8081(Mac/Linux)排查,占用的话结束对应进程即可。
4. 系统环境干扰
- 若开启了全局代理,构建时先关闭代理,或在Gradle、Node配置中单独配置代理规则,避免代理网络波动导致卡住。
- Windows环境下可将项目目录加入Windows Defender/杀毒软件的白名单,避免构建时实时扫描文件导致IO阻塞。
- 检查环境变量中
ANDROID_HOME、JAVA_HOME配置是否正确,JDK版本需匹配当前React Native版本要求:0.68及以上RN版本需要JDK 11及以上,不可使用JDK 1.8。
内容的提问来源于stack exchange,提问作者Jamal Butt
相关产品推荐
相关产品推荐

