Flutter旧项目运行报错:PackageManager相关API已废弃
解决android_intent依赖编译错误(废弃API+ -Werror)
方案1:升级android_intent依赖版本
错误根源是android_intent:2.0.2使用了已废弃的PackageManager.resolveActivity()方法,且Gradle配置将警告视为错误(-Werror)导致编译失败。升级到该包的后续修复版本即可解决:
- 打开项目根目录的
pubspec.yaml文件,找到android_intent依赖项,将版本从^2.0.2更新为兼容Flutter 2.10.4的最新稳定版(例如^2.1.0,可根据实际兼容情况调整) - 执行命令更新依赖:
flutter pub get
- 重新运行项目:
flutter run
方案2:临时关闭Gradle的警告转错误配置
如果暂时无法升级依赖,可修改项目的Gradle配置,忽略废弃API警告:
- 打开项目
android/build.gradle文件,在allprojects块内添加子项目配置:
subprojects { afterEvaluate { project -> if (project.name == "android_intent") { android { compileOptions { javaCompilerOptions { option '-Xlint:-deprecation' } } } } } }
- 保存文件后重新运行项目
方案3:替换为维护中的替代包(可选)
若android_intent已停止维护,可考虑迁移到官方推荐的替代包android_intent_plus:
- 在
pubspec.yaml中替换依赖:
# 移除旧依赖 # android_intent: ^2.0.2 # 添加新依赖 android_intent_plus: ^3.0.0
- 执行
flutter pub get,然后修改项目中调用android_intent的代码,适配新包的API
内容的提问来源于stack exchange,提问作者Rodrigo
相关产品推荐
相关产品推荐

