拆解 `./gradlew assembleFreeRelease`:这条命令背后到底发生了什么

📅 2026/8/23 14:16:23
拆解 `./gradlew assembleFreeRelease`:这条命令背后到底发生了什么
从一条命令说起你在项目根目录敲下:./gradlew assembleFreeRelease回车,几十秒后,一个app-free-release.apk静静躺在build/outputs/apk/里。大多数人到这一步就满足了——能出包就行。但这条命令其实浓缩了整个 Gradle 的运行机制:./gradlew是什么?assembleFreeRelease这个任务名哪来的,谁创建的?它凭什么知道要先编译再打包再签名?这篇我们把这条命令彻底拆开,从"敲下去"到"吐出 APK",一帧一帧看清楚。第一部分:./gradlew是什么先看命令的前半截:./gradlew。很多人以为它就是"运行 Gradle"。但它不是直接调用你电脑上装的 Gradle,而是调用项目自带的一个包装脚本——Gradle Wrapper。./表示"当前目录下的",gradlew是项目根目录里的一个文件(Windows 上是gradlew.bat)。它不是你全局安装的那个 gradle 命令。为什么要有 Wrapper