Flutter项目Android端Unresolved reference: SentryFlutter错误求助
问题描述
我的Flutter项目在Android端运行时触发编译错误并终止,iOS端可正常运行。错误信息如下:
e: file:///../AppData/Local/Pub/Cache/hosted/pub.dev/sentry_flutter-7.16.0/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt:39:39 Unresolved reference: SentryFlutter
e: file:///../AppData/Local/Pub/Cache/hosted/pub.dev/sentry_flutter-7.16.0/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt:49:21 Unresolved reference: SentryFlutter
已尝试过相关GitHub Issue中的解决方案,但未解决问题,寻求进一步帮助。
解决方案
彻底清理缓存并重新拉取依赖
执行以下命令清空Flutter和Android缓存,确保依赖包完整:flutter clean # Windows系统使用:rmdir /s /q %LOCALAPPDATA%\Pub\Cache\hosted\pub.dev\sentry_flutter-7.16.0 rm -rf ~/.pub-cache/hosted/pub.dev/sentry_flutter-7.16.0 flutter pub get cd android && ./gradlew clean && cd ..切换sentry_flutter版本
修改pubspec.yaml中的依赖版本,暂时降级到7.15.0或升级至最新稳定版:dependencies: sentry_flutter: ^7.15.0 # 替换为最新稳定版号也可执行
flutter pub get重新拉取依赖后尝试编译。检查Android Gradle配置兼容性
确认android/build.gradle中的Kotlin版本与sentry_flutter 7.x要求的1.8+匹配:buildscript { ext.kotlin_version = '1.8.22' // 其余配置保持不变 }同时确保Android Gradle插件版本在7.4.2及以上,避免版本兼容问题。
临时修复插件代码
找到报错的SentryFlutterPlugin.kt文件,添加缺失的导入语句或补全类的全限定名:import io.sentry.flutter.SentryFlutter或直接将代码中的
SentryFlutter替换为io.sentry.flutter.SentryFlutter,注意此修改会在依赖更新后被覆盖,仅作临时应急使用。
内容的提问来源于stack exchange,提问作者Vladyslav Ulianytskyi

