Windows 下 gradlew 不是内部命令?正确运行 Gradle Wrapper 的方法

📅 2026/8/2 1:25:50
Windows 下 gradlew 不是内部命令?正确运行 Gradle Wrapper 的方法
gradlew是gradlewrapper的缩写对gradle的命令进行了包装比如我们进入到指定Module目录并执行“gradlew assemble”即可完成对当前Module的构建Windows系统下。这种错误一般是没有配置gradle的环境变量打开项目里面gradle-wrapper.properties查看使用的版本在Androidstudio设置中找到gradle的缓存路径然后打开wrapper/distsWindows 下 gradlew 不是内部或外部命令正确运行 Gradle Wrapper 的方法问题现象在 Windows 的 CMD 或 PowerShell 中构建 Android 项目时执行 gradlew assembleDebug 后出现gradlew 不是内部或外部命令也不是可运行的程序或批处理文件。这通常不是 Gradle 没有配置环境变量而是命令执行位置或调用方式不正确。先理解gradlew 和 gradle 有什么区别gradle 是系统安装的 Gradle 命令需要配置环境变量。gradlew 是项目自带的 Gradle Wrapper会根据项目的 gradle/wrapper/gradle-wrapper.properties 自动下载并使用指定版本的 Gradle。因此日常构建 Android 项目优先使用 gradlew。它可以保证团队成员和 CI 使用相同的 Gradle 版本不需要为 gradlew 单独配置 GRADLE_HOME。正确做法在项目根目录执行先进入包含 gradlew.bat、gradlew、settings.gradle 或 settings.gradle.kts 的项目根目录。PowerShell.\gradlew.bat assembleDebug也可以使用.\gradlew assembleDebugCMDgradlew.bat assembleDebug如果需要构建 Release 包将 assembleDebug 改成 assembleRelease。为什么直接输入 gradlew 会失败PowerShell 默认不会从当前目录查找可执行文件。即使 gradlew.bat 就在当前目录也必须使用 .\ 前缀明确指定当前目录。CMD 的行为不同但显式使用 gradlew.bat 更清晰也更容易排查。检查项目是否包含 Wrapper项目根目录应至少包含以下文件gradlewgradlew.batgradle/wrapper/gradle-wrapper.properties如果这些文件缺失说明项目没有提交 Wrapper。此时可在已安装 Gradle 的环境中执行 gradle wrapper 生成再将生成的文件提交到版本控制。常见排查1. 在错误目录执行不要在某个 module 目录内直接执行命令。先返回项目根目录再运行 Wrapper。2. 第一次下载依赖失败Wrapper 首次运行需要下载 Gradle 发行包同时 Android 构建还会下载依赖。检查网络、代理、镜像源和公司证书配置。3. Java 版本不匹配Gradle 与 Android Gradle Plugin 对 JDK 有版本要求。可先执行 java -version再根据项目配置选择 Android Studio 使用的 JDK。4. 文件被权限或安全软件拦截确认 gradlew.bat 未被阻止项目目录具备读写权限必要时以普通管理员权限重新打开终端。验证命令在项目根目录执行.\gradlew.bat --version若能显示 Gradle、JVM 和操作系统信息说明 Wrapper 已可正常使用。总结遇到 gradlew 找不到时不要急着配置 Gradle 环境变量。优先确认自己位于项目根目录并在 PowerShell 中使用 .\gradlew 或 .\gradlew.bat 执行。只有项目缺少 Wrapper 文件时才需要补充生成 Wrapper 或改用系统安装的 gradle 命令。找到如下目录配置为GRADLE_4.4_HOME然后在path中增加一项%GRADLE_4.4_HOME%\bin确定退出gradle环境就配置完成了验证一下这里有一个坑 gradlew在项目根目录下才有效如果进入到module中是无效的