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

执行ionic cordova build android时找不到runtime.jar问题求助

解决ionic cordova build android中runtime.jar 404的问题

问题根源

你遇到的Could not find runtime.jar (android.arch.lifecycle:runtime:1.0.0)错误,本质原因是jcenter仓库已经停止维护并移除了大量旧依赖包,你访问的那个URL对应的jar包已经被从jcenter删除,所以返回404。

结合你的环境来看:你的Cordova Android平台版本是6.4.0,这个版本非常老旧,它的默认构建脚本里依赖了jcenter仓库,并且指定了android.arch.lifecycle:runtime的1.0.0版本——这个版本现在已经不在jcenter上了。

这个URL的来源

这个URL是Gradle构建工具根据你的项目依赖配置生成的:Cordova Android 6.4.0的默认build.gradle配置里声明了jcenter作为依赖仓库,同时间接依赖了android.arch.lifecycle:runtime:1.0.0这个库,Gradle就会去jcenter对应的路径下查找这个jar包,结果因为包被移除导致404。

解决方案

方案1:升级Cordova Android平台(推荐)

旧版本的Cordova Android不仅依赖过时的仓库,还存在很多兼容性问题,升级到稳定的新版本是最彻底的解决办法。考虑到你用的是Ionic 3,推荐升级到android@9.1.0(这个版本和Ionic 3兼容性较好):

  • 先移除旧平台:
    ionic cordova platform remove android
    
  • 添加指定版本的新平台:
    ionic cordova platform add android@9.1.0
    
  • 重新执行构建:
    ionic cordova build android
    

新版本的Cordova Android已经将仓库替换为mavenCentral()和google(),并且依赖的库版本也更新到了可用的版本,不会再出现404问题。

方案2:修改现有Gradle配置(临时修复,不推荐长期使用)

如果你暂时不想升级平台,可以手动修改项目的Gradle配置来绕过这个问题:

  1. 打开项目根目录下的platforms/android/build.gradle文件
  2. 找到仓库配置段,把jcenter()替换为google()和mavenCentral():
    repositories {
        google()
        mavenCentral()
        // 移除或注释掉jcenter()
    }
    
  3. 添加强制依赖规则,将android.arch.lifecycle:runtime的版本指定为1.1.1(这个版本在mavenCentral上可获取):
    configurations.all {
        resolutionStrategy.force 'android.arch.lifecycle:runtime:1.1.1'
    }
    
  4. 保存文件后重新执行构建命令。

额外说明

  • 你提到的C:\Users\%USER%\.cordova\lib\npm_cache里没有cordova-android文件夹,这个不影响,因为你的项目已经本地安装了android 6.4.0平台,全局缓存文件夹缺失只是没有全局缓存,不影响本地构建。
  • 环境里显示cordova (Cordova CLI) : not installed但能运行命令,是因为Ionic CLI集成了cordova功能,或者你安装了局部的cordova包,这不是导致当前问题的原因。

如果以上方案都无法解决,再考虑卸载重装所有组件,但优先尝试上面的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:33:37