Flutter添加插件时遇Unsupported class file major version 63错误求助
问题:添加Flutter插件时出现
Unsupported class file major version 63错误 更新Android与Flutter版本后,添加file_picker: ^5.2.5和cached_network_image: ^3.2.3插件时触发错误:
General error during conversion: Unsupported class file major version 63
尝试多种解决方案无效,附上当前环境版本信息,请求修复:
当前环境版本信息
Flutter版本
Flutter 3.3.3 • channel stable • https://github.com/flutter/flutter.git Framework • revision 18a827f393 (4个月前) • 2022-09-28 10:03:14 -0700 Engine • revision 5c984c26eb Tools • Dart 2.18.2 • DevTools 2.15.0
Android Studio版本
Android Studio Electric Eel | 2022.1.1 Build #AI-221.6008.13.2211.9477386, built on January 11, 2023 Runtime version: 11.0.15+0-b2043.56-8887301 aarch64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 13.1 GC: G1 Young Generation, G1 Old Generation Memory: 1280M Cores: 8 Registry: external.system.auto.import.disabled=true ide.text.editor.with.preview.show.floating.toolbar=false
非捆绑插件
- com.github.dhaval2404.material_icon_generator (1.3)
- Dart (221.6091)
- pl.pszklarska.pubversionchecker (1.3.5)
- io.flutter (71.2.4)
解决方案
这个错误核心原因是JDK版本不兼容:class file major version 63对应JDK 17,而当前Android Studio使用JDK 11,无法解析JDK 17编译的类文件,按以下步骤修复:
1. 升级Flutter版本
当前Flutter版本过于陈旧,部分新插件依赖更高版本的工具链,执行命令升级:
flutter upgrade
2. 配置项目gradle与JDK版本
- 打开项目根目录下的
android/build.gradle,更新gradle插件版本:dependencies { classpath 'com.android.tools.build:gradle:7.4.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0" } - 打开
android/gradle/wrapper/gradle-wrapper.properties,更新gradle wrapper版本:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip - 打开
android/app/build.gradle,指定编译用JDK版本:android { compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = '17' } }
3. 配置Android Studio全局JDK
- 打开Android Studio的
Settings(macOS为Preferences) - 进入
Build, Execution, Deployment > Build Tools > Gradle - 在
Gradle JDK选项中选择JDK 17(无则点击Download JDK下载OpenJDK 17)
4. 清理缓存并重建项目
执行以下命令完成清理与重建:
flutter clean flutter pub get cd android ./gradlew clean ./gradlew build cd .. flutter run
内容的提问来源于stack exchange,提问作者Alpit Panchal
相关产品推荐
相关产品推荐

