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

React Native Android构建失败:依赖与JDK配置问题求助

React Native Android构建失败排查方案

1. 先解决JDK未识别问题(核心前提)

  • 验证系统环境变量:
    打开全新终端,执行以下命令确认JDK17生效:
    java -version
    javac -version
    
    确保输出为17.x.x。若不生效,检查JAVA_HOME是否指向JDK17根目录,PATH是否包含$JAVA_HOME/bin(Mac/Linux)或%JAVA_HOME%\bin(Windows),配置后必须重启终端。
  • 给Android Studio指定JDK:
    打开项目的Android模块,进入File > Project Structure > SDK Location,在JDK location选择本地安装的JDK17,避免使用默认的Embedded JDK(部分版本与RN兼容性差)。
  • 手动配置项目JDK路径:
    在项目根目录创建local.properties文件,添加:
    jdk.dir=/path/to/your/jdk-17
    
    替换为实际的JDK17路径,比如Windows下C:\\Program Files\\Java\\jdk-17.0.9。

2. 修复Gradle依赖解析失败

  • 匹配AGP与Gradle版本:
    AGP 8.4.0对应Gradle 8.7(官方兼容组合),修改以下文件:
    • 根目录gradle/wrapper/gradle-wrapper.properties:
      distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip
      
    • 安卓模块build.gradle(注意不是根目录的):
      classpath("com.android.tools.build:gradle:8.4.0")
      
  • 确保仓库配置完整:
    根目录build.gradle的repositories必须包含:
    repositories {
        google()
        mavenCentral()
    }
    
    根目录settings.gradle的dependencyResolutionManagement下也要同步配置:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
            maven { url "https://jitpack.io" }
        }
    }
    
    缺失google仓库会直接导致AGP依赖无法解析。
  • 清理Gradle缓存:
    执行以下命令清理缓存后重新构建:
    # Mac/Linux
    ./gradlew clean
    rm -rf ~/.gradle/caches
    
    # Windows
    gradlew clean
    rmdir /s /q C:\Users\<你的用户名>\.gradle\caches
    

3. 排查「重载正常、首次构建失败」的差异

  • 重载时RN会复用缓存的构建状态,首次构建是全量拉取依赖,重点检查网络是否能访问google仓库。若网络受限,可在仓库配置中添加国内镜像(比如阿里云maven镜像),但需确保镜像包含对应版本的AGP依赖。
  • 检查构建权限:
    首次构建时用管理员终端(Windows)或sudo(Mac/Linux)执行构建命令,避免权限不足导致依赖拉取失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 05:37:38