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

react-native link卡在“Assets已成功链接到项目”的问题排查

我在处理RN 0.5x版本的项目时碰到过不少类似的link卡住问题,结合你给出的环境信息和涉及的模块,咱们来拆解下可能的原因和优先排查的方向:

可能的触发原因

  • RN 0.55.x 内置link工具的固有缺陷:这个版本的react-native link在处理第三方模块的资产(比如自定义字体、原生资源文件)或者复杂依赖链时,经常会出现进程挂起的情况——尤其是当模块自身的link脚本异步处理逻辑不严谨时,很容易卡在成功提示那一步不动。
  • react-native-firebase 与 google-services 版本不兼容:你使用的com.google.gms:google-services:3.2.1和RN 0.55.4适配的react-native-firebase版本可能存在兼容性冲突,google-services插件在解析Firebase配置文件时如果出现阻塞,会直接拖慢甚至卡住整个link流程。
  • react-native-image-crop-picker 的资源链接冲突:这个模块涉及原生端的图片资源、权限配置修改,当它的link脚本在处理iOS的Info.plist或者Android的AndroidManifest.xml时,如果遇到重复配置、文件读写权限不足的情况,就可能导致进程停住。
  • Gradle版本与RN 0.55.4 适配性问题:com.android.tools.build:gradle:3.1.2对于RN 0.55.4来说版本偏高,这个版本的Gradle在依赖同步阶段可能存在性能或兼容性问题,间接导致link流程卡住。

优先排查与解决方向

  • 先终止进程,手动验证链接状态:先用Ctrl+C杀掉卡住的终端进程,然后分别检查iOS和Android端的链接情况:
    • iOS:打开Xcode项目,确认Libraries目录下是否有RNFirebase.xcodeproj、RNImageCropPicker.xcodeproj,且Build Phases的Link Binary With Libraries中已添加对应静态库;同时检查资产文件(如字体)是否已加入Copy Bundle Resources。
    • Android:查看settings.gradle是否添加了两个模块的依赖路径,app/build.gradle的dependencies中是否包含对应compile语句,以及google-services.json是否正确放在app目录下。
  • 降级google-services插件版本:尝试把com.google.gms:google-services降到3.1.1——这个版本和RN 0.55.4的兼容性经过很多开发者验证更稳定,不少人反馈升级到3.2.x后会出现各种阻塞问题。修改项目根目录的build.gradle后,重新运行react-native link试试。
  • 单独链接单个模块定位问题:不要一次性链接所有模块,先运行react-native link react-native-firebase,完成后再执行react-native link react-native-image-crop-picker,看看是哪个模块导致的卡住。如果某一个模块链接时卡住,就针对该模块进行手动链接。
  • 检查Gradle同步状态:打开Android Studio导入项目的Android部分,等待Gradle同步完成,看看是否有依赖冲突或报错信息。如果有冲突,先解决掉再重新执行link命令。
  • 清理缓存后重试:运行以下命令清理RN缓存和Gradle缓存,再重新执行link:
    react-native start --reset-cache
    cd android && ./gradlew clean
    cd .. && react-native link
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:14:05