Windows下无法通过gradlew.bat构建Android项目求助
完全可以通过CMD完成Release构建,你的问题核心是Gradle版本与JDK版本不兼容,以及CMD环境下的JDK配置未正确匹配Gradle要求。
核心原因:版本兼容性不匹配
Gradle 6.1.1官方支持的JDK版本范围是JDK 8到JDK 12,你当前使用的JDK 13.0.2超出了这个版本范围,这就是java.lang.NoClassDefFoundError报错的根本原因。Android Studio内部可能通过兼容机制规避了版本冲突,但CMD直接执行Gradle wrapper时会严格校验版本兼容性。
具体解决步骤
切换符合要求的JDK版本
下载并安装JDK 11或JDK 8(推荐JDK 11,更适配Gradle 6.x),记住实际安装路径(比如C:\Program Files\Java\jdk-11.0.2)。在CMD中临时配置JDK环境
打开CMD进入项目目录后,依次执行以下命令(替换为你的JDK实际路径):set JAVA_HOME=C:\Program Files\Java\jdk-11.0.2 set PATH=%JAVA_HOME%\bin;%PATH% gradlew.bat assembleRelease(可选)永久配置系统级JDK环境
右键「此电脑」→「属性」→「高级系统设置」→「环境变量」:- 在「系统变量」区域点击「新建」,变量名填
JAVA_HOME,变量值填JDK安装路径; - 找到「系统变量」里的
PATH,点击「编辑」,添加%JAVA_HOME%\bin并移到最上方; - 重启CMD后生效,之后直接执行
gradlew.bat assembleRelease即可。
- 在「系统变量」区域点击「新建」,变量名填
清理Gradle缓存后重试
执行以下命令清理旧缓存,避免残留配置干扰:gradlew.bat clean gradlew.bat assembleRelease验证Gradle Wrapper完整性
检查项目根目录下gradle\wrapper\gradle-wrapper.properties文件中的distributionUrl是否为https\://services.gradle.org/distributions/gradle-6.1.1-all.zip,同时确认该压缩包已下载到本地(默认路径为C:\Users\[你的用户名]\.gradle\wrapper\dists\gradle-6.1.1-all),如果未下载,执行一次gradlew.bat assembleRelease会自动完成下载。
内容的提问来源于stack exchange,提问作者sahgasdvsadgv

