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

Cordova在Mac上构建/模拟Android时持续出现Gradle错误求助

问题根源与解决方案

从你给出的错误信息Could not determine java version from '9.0.1'来看,核心问题出在Cordova当前使用的Android平台内置Gradle版本不兼容Java 9及以上版本。

旧版Gradle(比如你提到的4.4其实也不够——Gradle 4.6才开始正式支持Java 9)无法识别Java 9+的版本号格式(比如9.0.1这种不带1.前缀的版本号),而且你之前更新全局Gradle没用的原因是:Cordova的Android平台默认会使用它自己打包在项目里的Gradle wrapper,不是你全局安装的那个。

下面是几个可行的解决办法,按推荐程度排序:

1. 降级Java到8版本(最稳妥方案)

Cordova对Java 8的兼容性是最完善的,而且大部分Android构建工具(比如旧版SDK Build Tools)也只支持Java 8。你可以在Mac上这样操作:

  • 下载OpenJDK 8或者Oracle JDK 8
  • 使用jenv这类工具快速切换Java版本,或者手动修改JAVA_HOME环境变量指向JDK 8的安装路径
  • 验证:终端输入java -version,确认输出是1.8.x开头的版本

2. 强制Cordova项目使用兼容Java 9+的Gradle版本

如果不想降级Java,你可以手动修改项目里的Gradle配置:

  • 打开项目目录下的platforms/android/gradle/wrapper/gradle-wrapper.properties
  • 找到distributionUrl这一行,把它改成支持Java 9+的Gradle版本,比如:
    distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
    
    (这个版本支持Java 8到11,兼容性很好)
  • 保存文件后,重新执行cordova build android或cordova emulate android

3. 升级Cordova Android平台到最新稳定版

旧版Cordova Android平台(比如低于8.0.0的版本)依赖的Gradle版本较低,升级平台可以直接解决版本兼容问题:

  • 先移除旧平台:
    cordova platform remove android
    
  • 再添加最新稳定版:
    cordova platform add android@latest
    
  • 新平台会自带适配更高Java版本的Gradle配置,之后再尝试构建应该就能正常运行了

另外还要注意:修改Java环境后,最好重启终端或者重新加载环境变量,确保JAVA_HOME指向的是正确的JDK路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:10:58