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

Cordova Android构建失败:Gradle超时与CordovaActivity类缺失问题求助

Cordova Android构建问题排查与解决

环境信息

  • Cordova Android版本:cordova-android@14.0.1
  • Java版本:17
  • 手动下载Gradle版本:8.14.2
  • Cordova CLI版本:12.0.0
  • 操作系统:Windows 10
  • Android SDK环境变量:
ANDROID_HOME=C:\Users\user\AppData\Local\Android\Sdk
ANDROID_SDK_ROOT=C:\Users\user\AppData\Local\Android\Sdk

报错情况

  1. 执行cordova build android时,报错:No Java files found that extend CordovaActivity
  2. 执行cordova clean android清理成功,但尝试下载gradle-8.13-bin.zip失败,报错:
Exception in thread "main" java.io.IOException: Downloading from https://services.gradle.org/distributions/gradle-8.13-bin.zip
.......................
........................
other errors.....

已尝试操作

  • 手动下载gradle-8.13-bin.zip
  • 将解压后的文件夹放置到platforms\android\.gradle\wrapper\dists\gradle-8.13-bin\some-random-hash\目录
  • 修改gradle-wrapper.properties指向正确路径
  • 重新构建,但仍尝试下载zip文件

问题解答

1. 如何强制Cordova使用手动解压的Gradle版本,避免下载?

有两种稳定方案:

  • 全局配置法
    新增系统环境变量GRADLE_HOME,值为你手动下载的Gradle 8.14.2根目录(如C:\gradle-8.14.2),再将%GRADLE_HOME%\bin添加到PATH变量中。Cordova会优先调用全局Gradle,跳过Wrapper下载流程。
  • 平台配置锁死法
    1. 打开platforms/android/gradle/wrapper/gradle-wrapper.properties,将distributionUrl改为本地Gradle包路径,格式为file:///C:/gradle-8.14.2-all.zip(Windows路径需用三个斜杠开头)。
    2. 删除platforms/android/.gradle/wrapper/dists下所有缓存目录,清除旧下载记录。
    3. 在项目根目录build.gradle中添加以下配置,强制锁定Gradle版本:
task wrapper(type: Wrapper) {
    gradleVersion = '8.14.2'
    distributionUrl = "file:///C:/gradle-8.14.2-all.zip"
}

2. No Java files found that extend CordovaActivity是否与配置错误或Gradle版本不匹配有关?

该错误和Gradle版本不匹配无关,主要原因包括:

  • Cordova Android平台自动生成逻辑异常,导致MainActivity.java丢失或未正确生成。检查platforms/android/app/src/main/java/[你的包名]/目录,正常文件应包含继承CordovaActivity的类。
  • config.xml中的包名配置错误,导致Java文件生成路径不正确。
  • 第三方插件破坏了平台文件,或手动修改过平台目录下的Java文件。

解决方法:移除并重新添加Android平台

cordova platform remove android
cordova platform add android@14.0.1

3. 如何确保cordova clean android && cordova build android能顺利使用预下载的Gradle?

按以下步骤操作:

  1. 先通过问题1的任意一种方式完成Gradle配置。
  2. 执行清理前,删除platforms/android/.gradle目录,彻底清除旧缓存。
  3. 打开命令提示符,执行gradle -v确认全局Gradle版本为8.14.2,确保环境变量生效。
  4. 最后执行cordova clean android && cordova build android,此时Cordova会直接调用指定的Gradle版本,不会触发下载。

内容的提问来源于stack exchange,提问作者Ab-Sadiq

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 15:52:39