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任务问题
- 修正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验证路径
- 当前配置指向可执行文件,是错误的。执行
- 检查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"
- 确认
- 清理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中developmentprofile的Android配置,确保buildType设为debug
内容的提问来源于stack exchange,提问作者Ali Shahvaladov
相关产品推荐
相关产品推荐

