Gradle与Java版本不兼容求助:求适配Flutter项目的Gradle版本
解决方案:Gradle与Java版本适配推荐
核心问题说明
Unsupported class file major version 65 本质是当前Gradle版本不支持Java 21编译的类文件,说明项目更新后,依赖或插件引入了Java 21编译的内容,导致Gradle与Java版本不兼容。
适配版本组合推荐
针对Flutter项目,推荐以下经过验证的适配组合:
- 使用Java 17:搭配Gradle
7.5+(优先选7.6及以上版本),同时Android Gradle Plugin(AGP)需对应7.4+ - 使用Java 21:必须搭配Gradle
8.0+,AGP版本需对应8.1+(Gradle 8.x开始原生支持Java 21) - 坚持用Java 11:需确保项目所有依赖/插件未使用Java 17+编译内容,此时Gradle版本推荐
7.0-7.4,AGP对应7.0-7.3
具体调整步骤
- 修改项目根目录下的
gradle/wrapper/gradle-wrapper.properties,更新Gradle版本:
例如升级到Gradle 8.2:distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip - 修改
android/build.gradle中的AGP版本,对应Gradle 8.2的AGP版本为8.1.0:dependencies { classpath 'com.android.tools.build:gradle:8.1.0' // 其他依赖保持不变 } - 在
android/app/build.gradle中指定对应Java版本:android { compileOptions { sourceCompatibility JavaVersion.VERSION_17 // 或VERSION_21,根据实际使用的JDK调整 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = '17' // 与compileOptions中的版本保持一致 } }
额外提示
- 最新版Android Studio可通过
File > Project Structure > Project直接调整Gradle和AGP版本,系统会自动推荐适配组合 - 切换Java版本后,需在
File > Project Structure > SDK Location中设置正确的JDK路径
内容的提问来源于stack exchange,提问作者sonalika
相关产品推荐
相关产品推荐

