Flutter Android Release APK构建失败:resource android:attr/lStar not found 问题求助
各位好,我现在在构建Flutter Android应用的Release APK时碰到了一个特别棘手的问题,每次构建都会失败,具体错误信息如下:
FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':isar_flutter_libs:verifyReleaseResources'. > A failure occurred while executing com.android.build.gradle.tasks.VerifyLibraryResourcesTask$Action > Android resource linking failed ERROR: C:\Users\hasso\Jibi\jibi_app\build\isar_flutter_libs\intermediates\merged_res\release\mergeReleaseResources\values\values.xml:194: AAPT: error: resource android:attr/lStar not found.
我能正常在手机上用Debug模式运行应用(flutter run),但Release构建每次都失败。我知道android:attr/lStar not found这个错误通常和API 31+引入的资源的compileSdk兼容性问题有关,下面是我已经尝试过的解决办法:
更新android/app/build.gradle.kts中的SDK和NDK配置:
- 尝试设置
compileSdk = 35和targetSdk = 35,还强制指定了ndkVersion = "27.0.12077973"(因为部分插件要求) - 之后又改回使用
flutter.compileSdkVersion和flutter.targetSdkVersion,让Flutter管理默认配置 - 把
sourceCompatibility、targetCompatibility更新到JavaVersion.VERSION_11,同时设置jvmTarget = "11"
- 尝试设置
更新项目级别的Gradle依赖(android/build.gradle.kts):
- 将Android Gradle插件(
com.android.tools.build:gradle)更新到8.4.0 - 将Kotlin Gradle插件(
org.jetbrains.kotlin:kotlin-gradle-plugin)更新到1.9.0
- 将Android Gradle插件(
更新Gradle Wrapper版本(android/gradle/wrapper/gradle-wrapper.properties):
- 根据之前的错误提示,把
distributionUrl改成使用gradle-8.9-all.zip
- 根据之前的错误提示,把
检查并启用AndroidX(android/gradle.properties):
- 确认
android.useAndroidX=true和android.enableJetifier=true已经配置并生效
- 确认
彻底清理和重启:
- 每次修改后都关闭了所有IDE(VS Code、Android Studio)和模拟器
- 按顺序执行了以下命令:
flutter clean cd android ./gradlew --stop cd .. flutter pub get flutter build apk --release
(注:找不到
cleanBuildCache命令,但gradlew --stop可以正常运行)验证Android Studio中的SDK安装:
- 通过Android SDK管理器确认已经安装了Android 15.0(API Level 35)和必要的Build-Tools
尽管尝试了所有这些方法,lStar not found的错误还是一直存在。我的flutter doctor -v输出没有大问题,只有关于新版本包的警告(因为依赖限制,我暂时忽略了这些警告)。
补充信息:这个问题只出现在Release构建中,错误直接关联到isar_flutter_libs库,我怀疑这可能和Isar相关的兼容性或者代码生成问题有关。
实在是没思路解决这个问题了,希望各位能给我一些帮助或者进一步的排查方向,谢谢大家!
内容来源于stack exchange

