升级flutter_secure_storage 5.0.0后Flutter编译报Java7不支持lambda如何解决
报错原因
flutter_secure_storage 5.0.0版本的Android侧源码使用了Lambda表达式、方法引用等Java 8版本才新增的语法特性,而你当前使用的Flutter 2.5.x版本创建的项目,Android模块默认配置的Java编译版本为Java 7,无法识别上述新语法,因此触发编译失败错误。
解决方案
将项目Android端的Java编译版本指定为1.8及以上即可解决该兼容问题,Java 8完全向下兼容Java 7语法,不会影响项目中其他旧插件的正常运行。
Flutter项目指定Java编译版本操作步骤
- 打开项目路径下的
android/app/build.gradle文件 - 找到文件中的
android配置块,在块内部添加如下配置:
android { // 原有其他配置保持不变,新增以下内容 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } // 若项目引入了Kotlin相关依赖,可额外添加以下配置避免混合编译兼容问题 kotlinOptions { jvmTarget = "1.8" } }
- 保存修改后重新执行项目编译即可。
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

