You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

删除Permission Handler插件后Flutter App仍请求权限求助

解决已移除Permission Handler后Flutter App仍请求权限的问题

我完全能理解你现在的困扰——明明已经删掉了Permission Handler插件,注释了AndroidManifest.xml里的权限声明,还做了flutter clean、卸载App并清除缓存的操作,但App还是会弹出存储和相机的权限请求。结合你的情况,我整理了几个可能的原因和对应的解决办法:

1. 检查是否存在依赖传递引入的Permission Handler

有时候你没有直接依赖Permission Handler,但项目里的其他第三方插件可能间接引入了它。你可以先检查项目的依赖树确认这一点:

flutter pub deps

如果发现有其他依赖依赖了Permission Handler,你可以在pubspec.yaml中添加dependency_overrides来强制移除它:

dependency_overrides:
  permission_handler: none

之后执行flutter pub get更新依赖。

2. 彻底清理Android端构建缓存

虽然执行了flutter clean,但Android本地的构建缓存可能还有残留。可以手动清理这些缓存:

  • 打开项目的android目录,删除.gradle文件夹
  • 删除android/app/build文件夹
  • 回到项目根目录,重新执行flutter clean → flutter pub get → 重新构建App

3. 彻底清除设备上的App残留数据

部分Android设备在卸载App后,仍会保留一些缓存数据或临时安装包。你可以:

  • 进入设备的设置-应用-找到你的App-存储-清除数据+清除缓存
  • 彻底卸载App,重启设备后再重新构建安装

4. 排查代码中是否有残留的权限请求逻辑

除了你提到的那段权限请求代码,可能还有其他地方调用了权限请求——比如某些第三方插件内部的权限逻辑,或者你没注意到的代码片段。可以全局搜索项目里的Permission、request()相关关键词,确认是否还有遗漏的权限请求代码。

5. 尝试升级Flutter版本

你当前使用的Flutter 1.17.1是2020年的旧版本,可能存在缓存或依赖处理的遗留bug。如果上面的方法都无效,可以尝试升级到较新的稳定版本:

flutter upgrade

升级完成后再重新执行flutter clean和构建操作。

你可以按照上面的步骤逐一排查,应该能解决权限请求残留的问题。

内容的提问来源于stack exchange,提问作者AchalYash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 21:27:44