Flutter集成Isar/ObjectBox数据库时持续构建失败求助
针对你遇到的Execution failed for task ':objectbox_flutter_libs:parseDebugLocalResources'及android-31版本android.jar转换失败问题,可按以下步骤排查:
匹配Android SDK Build Tools版本
确保安装了与目标SDK版本完全匹配的Build Tools(比如目标SDK是31,就安装Build Tools 31.0.0),且不要使用预览版。打开Android Studio的SDK Manager,进入SDK Tools标签,勾选"Show Package Details",卸载重复或不兼容的Build Tools版本后重新安装对应版本。强制指定依赖库的Android SDK版本
在项目根目录的android/build.gradle中添加配置,强制ObjectBox/Isar相关模块使用与你项目一致的SDK版本,避免版本不兼容:subprojects { if (name.contains('objectbox') || name.contains('isar')) { project.android { compileSdkVersion 33 // 替换为你项目使用的compileSdkVersion targetSdkVersion 33 // 替换为你项目使用的targetSdkVersion } } }彻底清理缓存后重建
执行以下命令清理所有可能的缓存文件,排除旧缓存导致的冲突:flutter clean rm -rf ~/.gradle/caches flutter pub get flutter run检查Gradle版本兼容性
确认项目android/build.gradle中的Android Gradle Plugin版本与Gradle版本匹配,建议使用稳定版组合(比如Android Gradle Plugin 7.4.2搭配Gradle 7.5),避免使用过于激进的新版本。修复损坏的Android SDK文件
找到本地Android SDK目录下的platforms/android-31/android.jar文件,删除后重新打开SDK Manager下载android-31平台,排除文件损坏导致的转换失败问题。新建空白项目验证
创建一个全新的Flutter空白项目,仅添加ObjectBox/Isar的依赖并按官方文档配置,测试是否能正常构建。如果新项目正常,说明原有项目存在配置冲突,对比两个项目的pubspec.yaml、android/build.gradle、android/app/build.gradle文件找出差异。
内容的提问来源于stack exchange,提问作者IlliterateTechnologist

