升级Android SDK至33版本遇Gradle构建错误求助
解决升级SDK到33后Gradle编译报错的问题
错误原因分析
Unsupported class file major version 63:该错误源于当前Gradle版本不支持Java 19(class文件版本63对应Java 19),两者版本不兼容导致编译失败。- 无法打开Gradle缓存:大概率是缓存文件损坏,或是当前用户无足够权限访问缓存目录。
具体解决步骤
1. 对齐Gradle与Java版本
先确认Java版本和Gradle版本是否匹配:
- 查看项目Gradle版本:打开
android/gradle/wrapper/gradle-wrapper.properties,找到distributionUrl字段,比如distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip即代表使用7.3.3版本Gradle。 - 版本对应规则:
- Java 17 → 需Gradle 7.4及以上
- Java 18 → 需Gradle 7.5及以上
- Java 19 → 需Gradle 7.6及以上
- 操作建议:要么将Gradle版本升级至对应支持Java版本的版本,要么将Java版本降至17(更稳定,多数Flutter项目推荐)。
2. 清理并重置Gradle缓存
- 手动删除本地Gradle缓存目录:
- Windows:
C:\Users\<你的用户名>\.gradle\caches - Mac/Linux:
~/.gradle/caches
- Windows:
- 打开Android Studio,点击
File → Invalidate Caches...,选择Invalidate and Restart,让IDE重启并重建缓存。
3. 同步Android Gradle Plugin(AGP)版本
AGP版本必须与Gradle版本匹配,否则会引发兼容问题:
- 打开
android/build.gradle,找到dependencies下的classpath "com.android.tools.build:gradle:x.x.x",比如Gradle 7.6对应AGP 7.5.x,Gradle 7.4对应AGP 7.4.x,根据调整后的Gradle版本修改AGP版本号。
4. 配置项目Java版本
打开android/app/build.gradle,添加或修改Java版本配置:
android { // 其他已有配置... compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = '17' } }
若坚持使用Java 19,可将VERSION_17改为VERSION_19,但仍推荐使用更稳定的Java 17。
5. 重新同步项目
完成以上修改后,点击Android Studio右上角的Sync Project with Gradle Files按钮,等待同步完成后再尝试编译项目。
内容的提问来源于stack exchange,提问作者GrzegorzJ
相关产品推荐
相关产品推荐

