讲师中心 微信公众号
AI工具推荐 视频效率加速

Gradle Wrapper升级为什么有时要执行两遍

千雪小哥_5074

千雪小哥_5074

发布时间:2026-10-22 12:27:30

|

142人浏览过

|

来源于php中文网

原创

执行 ./gradlew wrapper 默认只更新脚本不修改 gradle-wrapper.properties,必须加 --gradle-version 8.10 才能更新 distributionUrl;还需手动清理 ~/.gradle/wrapper/dists/ 缓存并同步 AGP、JDK 版本以确保构建真正生效。

gradle wrapper升级为什么有时要执行两遍

执行 ./gradlew wrapper 第一遍只更新脚本,不更新配置文件

很多人以为运行一次 ./gradlew wrapper 就能完成整个 Wrapper 升级,结果发现 gradle-wrapper.properties 里的 distributionUrl 没变,或者新版本的 gradlew 脚本仍指向旧版 Gradle。这是因为 Gradle 自带的 wrapper 任务默认只生成或刷新脚本(gradlew、gradlew.bat 和 gradle-wrapper.jar),但不会自动改写 gradle-wrapper.properties 中的版本地址——它只会保留你当前已有的配置项,除非你显式指定参数。

常见错误现象:
– 执行 ./gradlew wrapper 后,gradle-wrapper.properties 里仍是 gradle-7.5-bin.zip,而你本意是升到 8.10
– 下次运行 ./gradlew build 依然拉取旧版本,构建失败或插件不兼容

解决方法是加参数强制指定目标版本:

  • ./gradlew wrapper --gradle-version 8.10 —— 这才真正触发 distributionUrl 更新
  • ./gradlew wrapper --distribution-type all —— 如果需要源码+文档包(比如调试 Gradle 本身)
  • 必须搭配使用,单独跑 ./gradlew wrapper 不带参数等于白跑

gradle-wrapper.properties 被 Git 忽略或权限锁定导致写入失败

即使加了 --gradle-version,第二遍执行仍可能“看似成功却没生效”。典型原因是:gradle-wrapper.properties 文件被 IDE 锁定、被 Git 标记为只读、或所在目录无写入权限(尤其在 Windows WSL 或某些 CI 容器中)。

容易踩的坑:

  • IDE(如 Android Studio)正在后台扫描项目,会独占该文件,导致 wrapper 任务静默跳过写入
  • git update-index --chmod=+x gradlew 执行后忘了同步 gradle-wrapper.properties 的权限,某些 Linux 环境下属性文件写入失败不报错
  • CI 流水线用的是缓存的 ~/.gradle/wrapper,但本地 gradle-wrapper.properties 已改,实际运行时仍加载旧缓存

验证是否真的写入成功:直接打开 gradle/wrapper/gradle-wrapper.properties,检查 distributionUrl 是否变成你指定的 URL,且末尾 ZIP 名称匹配(例如 gradle-8.10-all.zip)。

升级后首次运行 ./gradlew 仍卡在旧版本下载

这是最迷惑人的现象:明明 gradle-wrapper.properties 已更新,但执行 ./gradlew build 时控制台还是显示 “Downloading gradle-7.5-bin.zip”。原因在于 Gradle Wrapper 的缓存机制——它优先检查 GRADLE_USER_HOME/wrapper/dists/ 下是否存在对应解压目录(如 gradle-7.5-bin/xxx),如果存在,就直接复用,哪怕配置文件已改成 8.10。

这不是 bug,是设计使然:避免重复下载。但对升级来说,它掩盖了真实状态。

正确做法是:

  • 删掉本地缓存中旧版本的完整目录:rm -rf ~/.gradle/wrapper/dists/gradle-7.5-bin/
  • 或者加 --no-daemon 强制绕过 Daemon 缓存:./gradlew --no-daemon build
  • CI 环境建议加 --refresh-dependencies 配合清理,否则可能复用旧 Daemon 进程导致静默降级

AGP 与 Gradle 版本强耦合,单升 Wrapper 不够

Android 项目里,只升级 Wrapper 很容易掉进“版本错配”陷阱。Gradle 8.x 要求 AGP 8.4+,而 AGP 8.4 又要求 JDK 17+。如果你只改了 gradle-wrapper.properties,但没同步更新根项目的 build.gradle[.kts] 里的 com.android.tools.build:gradle 版本,或者没调高 compileSdk 和 targetSdk,./gradlew build 会在 Configuration 阶段直接失败,报错类似:Unsupported version of Android Gradle Plugin: 8.2.0. Minimum supported version is 8.4.0.

所以所谓“执行两遍”,本质是:第一遍确保 Wrapper 脚本和配置落地;第二遍才是真正验证构建流程能否跑通——而这依赖于 AGP、JDK、Kotlin 插件三者全部对齐。

最容易被忽略的一点:Android Studio 的内置 Gradle 版本提示(右下角弹窗)只反映 IDE 自身偏好,和项目实际使用的 gradlew 无关。别信那个弹窗,只信 gradle-wrapper.properties 和终端输出的 downloading 日志。

热门AI工具

更多
AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
Java Maven/Gradle 构建与依赖管理合集
Java Maven/Gradle 构建与依赖管理合集

系统讲解 Java 项目构建工具的使用与进阶配置,涵盖 Maven 的 POM 文件结构、生命周期(clean/compile/package/install/deploy)与插件机制、依赖范围(compile/provided/test/runtime)与传递依赖管理、多模块聚合与继承、私有 Nexus 仓库发布,以及 Gradle 的 Groovy / Kotlin DSL 语法、Task 自定义与增量构建、依赖版本目录(Versi

369

2026.05.09

剧云故事大纲与分场规划教程
剧云故事大纲与分场规划教程

本专题讲解剧云梗概与多级大纲功能,覆盖全局、分集、分场结构生成,以及主线冲突、剧情节点和场次顺序调整。

0

2026.10.22

VibeKnow PPT讲解视频教程汇总
VibeKnow PPT讲解视频教程汇总

本专题介绍VibeKnow PPT讲解模式的素材准备、旁白生成、页面节奏、画面呈现与导出设置,适合课程和培训场景。

0

2026.10.22

VibeKnow PDF转视频教程合集
VibeKnow PDF转视频教程合集

本专题围绕VibeKnow的PDF转视频功能,讲解文件准备、内容解析、脚本生成、重点可视化及配音字幕检查方法。

0

2026.10.22

二狗PPT模板与视觉设计
二狗PPT模板与视觉设计

本专题介绍二狗PPT的职场模板、主题风格与页面版式,覆盖模板切换、色彩选择、内容匹配和正式汇报场景下的视觉优化方法。

0

2026.10.22

php漏洞修复方法
php漏洞修复方法

PHP漏洞聚合专题,持续整理PHP最新高危漏洞、CVE安全预警、受影响版本、自查命令及修复方案,覆盖PHP-FPM、Docker、Ubuntu与Linux服务器环境,帮助开发者快速完成漏洞排查、版本升级和安全加固。

0

2026.10.22

二狗PPT入门与基础操作
二狗PPT入门与基础操作

本专题整理二狗PPT从官网进入、输入主题、生成大纲到制作成稿的基础操作,帮助新手掌握AI一键生成职场PPT的完整流程。

0

2026.10.22

讯飞绘文AI配图与绘图模型合集
讯飞绘文AI配图与绘图模型合集

本专题讲解讯飞绘文AI配图与绘图2.0 Pro,覆盖提示词、画面比例、参考图、风格选择及图片优化,帮助用户制作匹配内容的视觉素材。

0

2026.10.22

讯飞绘文AI选题与热点策划合集
讯飞绘文AI选题与热点策划合集

本专题介绍讯飞绘文选题中心与AI选题方法,涵盖热点发现、赛道筛选、选题评估和内容规划,解决创作者找灵感难题。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Gradle 9 主版本升级指南
Gradle 9 主版本升级指南

共0课时 | 0人学习

Gradle 安全最佳实践
Gradle 安全最佳实践

共0课时 | 0人学习

Gradle 依赖校验手册
Gradle 依赖校验手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn