VS Code运行Flutter项目遇invalid source release:17报错求助
解决Flutter项目中
stripe_android:compileReleaseJavaWithJavac报错invalid source release: 17的方案 1. 配置全局Gradle Java环境
在项目的android/gradle.properties文件中添加或修改以下配置,明确指定Java 11的路径及编译版本:
org.gradle.java.home=/你的Java11安装路径/jdk-11.x.x android.compileOptions.sourceCompatibility=11 android.compileOptions.targetCompatibility=11
注意替换路径为本地Java 11的实际安装目录(Windows示例:C:\Program Files\Java\jdk-11.0.20,Mac示例:/Library/Java/JavaVirtualMachines/jdk-11.0.20.jdk/Contents/Home)
2. 调整模块级编译配置
在android/app/build.gradle的android代码块中补充以下配置,同步Java和Kotlin的编译版本:
compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = '11' }
Stripe Android SDK依赖Kotlin,必须同步指定Kotlin的JVM目标版本才能匹配编译环境。
3. 适配Stripe插件版本
若上述配置无效,可能是新版本Stripe SDK强制要求Java 17。可在pubspec.yaml中降级到兼容Java 11的版本,例如:
dependencies: stripe_flutter: ^9.6.0
4. 清理缓存并重新构建
执行以下命令彻底清理缓存后重新编译:
flutter clean flutter pub get cd android # Windows系统替换为gradlew.bat ./gradlew clean ./gradlew assembleRelease
5. 验证VS Code终端的Java环境
打开VS Code终端,执行以下命令确认当前使用的是Java 11:
java -version javac -version
若输出不是Java 11,需检查系统环境变量JAVA_HOME和PATH是否指向正确的JDK目录。
内容的提问来源于stack exchange,提问作者Adeel Haider
相关产品推荐
相关产品推荐

