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

旧依赖导致Gradle崩溃?已卸载keyboardheightprovider仍报403错误求助

问题1解决方案:依赖添加位置

如果是原生Android项目,直接将implementation 'ro.holdone:keyboardHeightProvider:1.0.3'添加到 app模块/build.gradle 文件的dependencies代码块中即可。
如果是带platforms目录的跨端项目(Cordova/Ionic/React Native等),不要直接修改platforms/android/app/build.gradle(重新生成平台配置会被覆盖),需要对应框架的配置入口注入依赖:

  • Cordova/Ionic可借助cordova-custom-config这类插件将依赖写入上层配置
  • React Native可在android/app/build.gradle的dependencies块直接添加(该文件默认不会被框架自动覆盖)

问题2解决方案:残留报错原因&修复步骤

报错原因

你清理了platforms目录还能拉取旧包,核心是3种可能:

  1. Gradle本地缓存留存了旧依赖的拉取规则,没有被清理
  2. 你的跨端项目中某个第三方插件内部隐式依赖了旧版本的keyboardheightprovider,在生成platforms配置时自动把旧依赖注入了build.gradle
  3. 项目根目录的全局Gradle配置、或者node_modules中残留的插件配置里还有旧包的声明

修复步骤

  1. 彻底清理所有缓存
    • 删除项目根目录下的.gradle隐藏文件夹
    • 进入platforms/android目录,执行命令清理Gradle构建缓存:
    gradlew cleanBuildCache
    
    • 跨端项目额外清理:删除node_modules、plugins目录后重新安装依赖、重新添加Android平台
  2. 排查旧依赖来源
    在platforms/android目录下执行对应命令,就可以定位到是哪个依赖引入了旧版本包:
    • Windows系统:
    gradlew :app:dependencies | findstr keyboardheightprovider
    
    • Mac/Linux系统:
    ./gradlew :app:dependencies | grep keyboardheightprovider
    
  3. 强制覆盖依赖版本
    要是排查到是其他插件隐式引入了旧版本,可以在app模块/build.gradle的顶部添加强制版本规则,直接覆盖旧版本拉取逻辑:
    configurations.all {
        resolutionStrategy.force 'ro.holdone:keyboardHeightProvider:1.0.3'
    }
    
    配置完成后重新构建项目即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:06:01