Flutter项目报android:attr/lStar及agora_rtc_engine构建失败如何解决?
问题1:AAPT: 错误:未找到resource android:attr/lStar 解决方法
这个错误是因为androidx.core 1.7.0及以上版本依赖Android 12(API 31)的属性,你当前项目的安卓编译版本低于31导致的,解决方案如下:
- 方案一:升级编译SDK版本
打开android/app/build.gradle文件,找到android配置块,将compileSdkVersion值修改为31或更高,同步可以将targetSdkVersion也升级到31,修改后重新构建即可。 - 方案二:强制约束androidx.core版本
如果你不想升级编译SDK版本,可以在android/build.gradle的allprojects块中添加版本约束,强制使用不包含lStar属性的core版本:allprojects { configurations.all { resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' } resolutionStrategy { force 'androidx.core:core:1.6.0' } } } - 确认
android/gradle.properties文件中已经开启AndroidX和Jetifier支持:android.useAndroidX=true android.enableJetifier=true
问题2:未找到id为'com.android.library'的插件 解决方法
这个错误是agora_rtc_engine 4.0.7插件要求的Android Gradle Plugin(AGP)版本和你项目当前使用的AGP版本不匹配导致的,解决方案如下:
- 方案一:升级项目AGP版本
打开android/build.gradle文件,找到dependencies块中com.android.tools.build:gradle的版本号,将其升级到4.0.0或更高版本,比如:
同时打开dependencies { classpath 'com.android.tools.build:gradle:4.1.3' }android/gradle/wrapper/gradle-wrapper.properties文件,将gradle版本升级到和AGP匹配的版本,AGP 4.1.3对应Gradle版本为6.5及以上,修改如下:distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip - 方案二:降级agora_rtc_engine版本
如果你不想升级项目AGP版本,可以将pubspec.yaml中的agora_rtc_engine版本降到3.x的稳定版,低版本的声网插件对低版本AGP兼容性更好。
通用排查步骤
- 执行
flutter clean清理项目构建缓存,再执行flutter pub get重新拉取依赖后重试构建。 - 删除安卓目录下的
.gradle文件夹,以及用户目录下的.gradle/caches文件夹,避免本地缓存冲突导致构建失败。 - 若仍未解决,可以执行
flutter build apk --debug --stacktrace获取完整错误日志,定位具体冲突点。
内容的提问来源于stack exchange,提问作者anandhusiva97
相关产品推荐
相关产品推荐

