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

Expo Android构建失败:Gradle与Java版本兼容问题求助

问题描述

开发Expo应用时,执行npx expo run:android构建崩溃,报错信息如下:

FAILURE: Build failed with an exception.

  • 出错原因:配置根项目'Doctor'时出现问题。

    无法确定null的依赖项,无法解析':classpath'配置的所有任务依赖。
    无法解析com.android.tools.build:gradle:7.4.1,该依赖被项目:需要。
    未找到匹配的com.android.tools.build:gradle:7.4.1变体,消费者配置为寻找兼容Java 8、以jar包形式打包、依赖外部声明的运行时库,且要求'org.gradle.plugin.api-version'属性值为'7.5.1',但各变体存在如下不兼容情况:
    - 'apiElements'变体:声明兼容Java 11的API库,与消费者需要的Java 8运行时不兼容,且未声明所需的插件API版本。
    - 'javadocElements'变体:属于文档组件,不符合库的需求,且未满足Java版本、打包格式及插件API版本要求。
    - 'runtimeElements'变体:声明兼容Java 11的运行时库,与Java 8需求不兼容,且未声明插件API版本。
    - 'sourcesElements'变体:属于文档组件,不符合库的需求,且未满足各项要求。
    无法解析com.android.tools.build:gradle:7.3.1,该依赖被项目: > project :react-native-gradle-plugin需要,不兼容原因同上。

  • 建议尝试:
    使用--stacktrace选项获取堆栈跟踪;使用--info或--debug选项获取更多日志输出;使用--scan选项获取完整分析信息。

  • 更多帮助:https://help.gradle.org

构建在11秒内失败。

项目配置文件

app.json

{
"expo": {
    "name": "Doctor",
    "slug": "Doctor",
    "version": "1.0.4",
    "orientation": "portrait",
    "icon": "./assets/icon.png",
    "userInterfaceStyle": "light",
    "plugins": [["expo-location"]],
    "splash": {
        "image": "./assets/splash.png",
        "resizeMode": "contain",
        "backgroundColor": "#ffffff"
    },
    "assetBundlePatterns": ["**/*"],
    "ios": {
        "supportsTablet": true
    },
    "android": {
        "adaptiveIcon": {
            "foregroundImage": "./assets/adaptive-icon.png",
            "backgroundColor": "#ffffff"
        },
        "permissions": [
            "ACCESS_COARSE_LOCATION",
            "ACCESS_BACKGROUND_LOCATION",
            "ACCESS_FINE_LOCATION"
        ],
        "package": "com.anonymous.Doctor",
        "versionCode": 3,
        "config": {
            "googleMaps": {
                "apiKey": "API_KEY"
            }
        }
    },
    "web": {
        "favicon": "./assets/favicon.png"
    },
    "extra": {
        "eas": {
            "projectId": "b68344f5-0eb0-42f7-a1a0-8e7805a97643"
        }
    }
}
}

package.json

{
"name": "doctor",
"version": "1.0.0",
"scripts": {
    "start": "expo start --dev-client",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web"
},
"dependencies": {
    "@expo/webpack-config": "^18.0.1",
    "@react-navigation/bottom-tabs": "^6.5.7",
    "@react-navigation/native": "^6.1.6",
    "@react-navigation/native-stack": "^6.9.12",
    "@reduxjs/toolkit": "^1.9.5",
    "axios": "^1.3.6",
    "expo": "~48.0.15",
    "expo-linear-gradient": "~12.1.2",
    "expo-location": "~15.1.1",
    "expo-status-bar": "~1.4.4",
    "react": "18.2.0",
    "react-native": "0.71.7",
    "react-native-maps": "1.3.2",
    "react-native-modal": "^13.0.1",
    "react-native-safe-area-context": "4.5.0",
    "react-native-web": "~0.18.10",
    "react-redux": "^8.0.5",
    "@react-native-async-storage/async-storage": "1.17.11",
    "expo-splash-screen": "~0.18.2"
},
"devDependencies": {
    "@babel/core": "^7.20.0"
},
"private": true
}

解决方案

报错核心是Java版本与Gradle插件版本不匹配:当前环境使用Java 8,但Gradle 7.4.1/7.3.1插件需要Java 11及以上;同时Gradle插件版本与Gradle版本(7.5.1)存在兼容冲突。

步骤1:升级Java版本至11

  • 检查当前Java版本:执行java -version
  • 安装Java 11(OpenJDK或Oracle JDK均可),并通过JAVA_HOME环境变量指定Java 11的安装路径,或使用版本管理工具(如jEnv)切换版本。

步骤2:统一Gradle相关版本

Expo 48对应React Native 0.71,需确保Gradle版本与Android Gradle Plugin(AGP)版本兼容:

  1. 打开项目根目录下的android/build.gradle文件,修改AGP和Gradle版本:
    buildscript {
        ext {
            buildToolsVersion = "33.0.0"
            minSdkVersion = 21
            compileSdkVersion = 33
            targetSdkVersion = 33
            // 匹配React Native 0.71的AGP版本
            androidGradlePluginVersion = "7.4.2"
            // 与AGP 7.4.x兼容的Gradle版本
            gradleVersion = "7.5"
        }
        // 保留其他原有配置
    }
    
  2. 清理Gradle缓存并同步配置:执行cd android && ./gradlew clean,返回项目根目录后重新运行npx expo run:android。

步骤3:清理缓存(可选)

若上述步骤无效,清理Expo和Gradle缓存:

  • 清理Expo缓存:npx expo start --clear
  • 清理Gradle缓存:cd android && ./gradlew cleanBuildCache

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 02:24:52