Flutter Android编译报错error: resource android:attr/lStar not found如何解决
问题根因
android:attr/lStar 是Android 12(API等级31)才新增的系统属性,你的项目当前配置的compileSdk版本低于31,但是项目依赖的某个第三方库自动升级到了适配API 31的版本,导致资源链接时找不到对应属性报错。
解决方法
方案1:升级编译SDK版本(最稳妥)
直接修改项目中android/app/build.gradle文件里的相关配置:
- 把
compileSdkVersion的数值改为31或更高 - 同步更改
targetSdkVersion为31或更高,避免运行时兼容问题
修改后重新执行flutter clean再编译即可。
方案2:锁定冲突依赖的版本(无需升级编译SDK)
如果暂时不想升级compileSdk,可以强制锁定相关冲突依赖的旧版本:
- 打开项目
android/build.gradle文件,在allprojects节点下添加配置强制指定核心库版本:
allprojects { configurations.all { resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' force 'androidx.core:core:1.6.0' } } }
- 执行
flutter clean清理缓存后重新编译即可。
验证步骤
修改完成后按以下顺序操作验证修复效果:
- 执行
flutter clean清理项目缓存 - 执行
flutter pub get重新拉取依赖 - 执行
flutter build apk尝试编译看是否还报错
内容的提问来源于stack exchange,提问作者cizon
相关产品推荐
相关产品推荐

