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

React Native Expo Android构建报错:无法确定compileDebugJavaWithJavac任务依赖

React Native Expo 构建及预构建错误解决指南

一、修复npx expo prebuild失败(无法获取expo-template-bare-minimum@sdk-49)

  • 检查npm源:执行npm config get registry,若为国内源,切换回官方源:npm config set registry https://registry.npmjs.org/
  • 清除npm缓存:npm cache clean --force
  • 手动指定稳定版本重新预构建:npx expo prebuild --template expo-template-bare-minimum@49.0.21
  • 匹配expo-cli版本:执行expo --version,确保版本≥0.7.0(SDK49对应最低cli版本),不匹配则更新:npm install -g expo-cli

二、修复:react-native-code-push依赖解析错误及compileDebugJavaWithJavac任务问题

  1. 修正JAVA_HOME配置
    • 当前配置指向可执行文件,是错误的。执行update-alternatives --config java,找到Java 8 JDK的根路径(通常为/usr/lib/jvm/java-8-openjdk-amd64)
    • 修改~/.bashrc:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64,添加export PATH=$JAVA_HOME/bin:$PATH,执行source ~/.bashrc生效,用echo $JAVA_HOME验证路径
  2. 检查code-push兼容性与配置
    • 确认package.json中react-native-code-push版本为^8.1.0(SDK49兼容版本),不兼容则更新:npm install react-native-code-push@8.1.0
    • 检查android/build.gradle的仓库配置,确保包含:
      allprojects {
          repositories {
              // 其他仓库...
              maven { url "https://www.jitpack.io" }
              maven { url "https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1" }
          }
      }
      
    • 确认android/app/build.gradle中引入code-push插件:
      apply from: "../../node_modules/react-native-code-push/android/codepush.gradle"
      
  3. 清理Android构建缓存
    • 进入项目android目录,执行./gradlew clean,再重新运行eas build --profile development --platform android

三、首次构建额外检查

  • 安装Ubuntu系统依赖:sudo apt-get install openjdk-8-jdk android-sdk-platform-tools android-sdk-build-tools
  • 本地先验证编译:npx react-native run-android,排除本地环境基础问题
  • 检查eas.json中development profile的Android配置,确保buildType设为debug

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 17:05:10