使用hmssdk_flutter构建直播应用遇invalid source release:17错误求助
解决
hmssdk_flutter 编译错误:invalid source release: 17 问题根源
hmssdk_flutter: ^1.10.6 的Android模块默认配置了Java 17作为编译版本,但你的本地开发环境使用的是Java 8,版本不匹配导致编译失败。
解决方案
方案1:升级本地Java版本到17(推荐)
- 下载并安装OpenJDK 17或Oracle JDK 17
- 配置系统环境变量,将
JAVA_HOME指向Java 17的安装目录 - 验证版本:终端执行
java -version,确认输出显示Java 17版本 - 重启Android Studio或终端,重新执行
flutter run
方案2:强制插件使用Java 8编译(临时方案)
在Android项目根目录的build.gradle文件中添加以下配置,覆盖插件的编译版本设置:
subprojects { if (project.name.contains("hmssdk_flutter")) { tasks.withType(JavaCompile) { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } } }
如果需要对所有第三方插件生效,可简化为:
subprojects { tasks.withType(JavaCompile) { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } }
添加完成后,执行以下命令清理缓存并重新编译:
flutter clean flutter pub get flutter run
额外检查点
- 打开Android Studio的
File > Project Structure > SDK Location,确认JDK位置指向你使用的Java版本 - 确保终端会话的
JAVA_HOME环境变量配置正确,可通过echo $JAVA_HOME(Linux/macOS)或echo %JAVA_HOME%(Windows)验证
内容的提问来源于stack exchange,提问作者Ganesh
相关产品推荐
相关产品推荐

