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

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

Cordova Android构建失败:Java版本与Gradle插件不兼容问题解决

问题概述

本地环境为Java 20、Gradle 8.3,执行cordova build android构建项目时失败,核心报错为无法解析com.android.tools.build:gradle:8.3.0,原因是插件组件要求Java 11,但项目消费端配置为Java 8,同时存在Gradle插件API版本不匹配问题。

完整报错日志(翻译后)

C:\Users\Alire\OneDrive\Desktop\new app cordova\first>cordova build android
检查Java JDK和Android SDK版本
ANDROID_HOME=C:\Users\Alire\AppData\Local\Android\Sdk(推荐配置)
ANDROID_SDK_ROOT=C:\src\src(已废弃)
使用Android SDK: C:\Users\Alire\AppData\Local\Android\Sdk

构建成功,耗时5秒
1个可执行任务:1个已执行
子项目路径: CordovaLib
子项目路径: app

失败:构建因异常终止

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

> 无法解析配置':classpath'的所有构件。
无法解析com.android.tools.build:gradle:8.3.0。
被以下项目依赖:
project :
> 未找到com.android.tools.build:gradle:8.3.0的匹配变体。消费端配置为寻找一个运行时使用的库,兼容Java 8,打包为jar,依赖外部声明,同时需要属性'org.gradle.plugin.api-version'的值为'8.7',但:
- 变体'apiElements'声明了一个库,打包为jar,依赖外部声明:
  - 不兼容:该组件声明为编译时使用,兼容Java 11,而消费端需要运行时使用、兼容Java 8的组件
  - 其他兼容属性:
    - 未提及org.gradle.plugin.api-version(要求为'8.7')
- 变体'javadocElements'声明了一个运行时使用的组件,依赖外部声明:
  - 不兼容:该组件为文档类型,而消费端需要库
  - 其他兼容属性:
    - 未提及元素打包方式(要求为jar)
    - 未提及目标Java版本(要求兼容Java 8)
    - 未提及org.gradle.plugin.api-version(要求为'8.7')
- 变体'runtimeElements'声明了一个运行时使用的库,打包为jar,依赖外部声明:
  - 不兼容:该组件兼容Java 11,而消费端需要兼容Java 8的组件
  - 其他兼容属性:
    - 未提及org.gradle.plugin.api-version(要求为'8.7')
- 变体'sourcesElements'声明了一个运行时使用的组件,依赖外部声明:
  - 不兼容:该组件为文档类型,而消费端需要库
  - 其他兼容属性:
    - 未提及元素打包方式(要求为jar)
    - 未提及目标Java版本(要求兼容Java 8)
    - 未提及org.gradle.plugin.api-version(要求为'8.7')

- 尝试方案:

> 查看变体匹配算法说明。
无匹配变体错误的详细解释见相关文档。
使用--stacktrace选项获取堆栈跟踪。
使用--info或--debug选项获取更多日志输出。
使用--scan选项获取完整分析报告。
访问帮助页面获取更多帮助。

构建失败,耗时4秒
命令执行失败,退出码1:C:\Users\Alire\OneDrive\Desktop\new app cordova\first\platforms\android\tools\gradlew.bat cdvBuildDebug

C:\Users\Alire\OneDrive\Desktop\new app cordova\first>

解决方案

  • 统一Java版本:Cordova Android插件8.x及以上版本要求Java 11或更高版本,需将本地JDK切换至Java 11(推荐使用Adoptium OpenJDK 11),确保JAVA_HOME环境变量指向Java 11安装路径,并更新系统PATH优先使用该版本。
  • 匹配Gradle与Android Gradle插件版本:Android Gradle插件8.3.0对应的Gradle版本范围是8.0-8.3,当前项目使用的Gradle 8.7不兼容。可二选一调整:
    1. 修改platforms/android/build.gradle中的classpath,将com.android.tools.build:gradle:8.3.0替换为适配Gradle 8.7的插件版本(如8.7.0);
    2. 保持插件版本为8.3.0,将本地Gradle版本降级至8.3。
  • 调整项目Java编译配置:在platforms/android/app/build.gradle中明确指定Java版本:
    android {
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_11
            targetCompatibility JavaVersion.VERSION_11
        }
    }
    
  • 清理构建缓存:执行cordova clean android清除旧构建缓存,再重新运行cordova build android。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 21:05:03