You need to enable JavaScript to run this app. 为什么我的Flutter Android应用未主动申请却出现开机自启动权限请求?
优惠活动
大模型
产品
解决方案
定价
更多

为什么我的Flutter Android应用未主动申请却出现开机自启动权限请求?

问题原因
  • 核心原因是Android构建流程的Manifest自动合并机制:项目依赖的所有第三方库(包括远程依赖、本地Module、第三方SDK等)自身声明的权限,会在APK构建过程中自动合并到最终的AndroidManifest文件中,无需开发者在主项目的Manifest里手动声明。
  • 最常见的权限引入源是广告、统计、推送、支付这类第三方服务SDK,这类SDK通常会为了自身功能正常运行,在自己的库配置中声明所需权限。
  • 如果你使用了Play动态功能分发(Play Feature Delivery),动态Feature模块中声明的权限也会被合并到最终安装包中。
  • 小概率场景为历史版本遗留:如果应用的旧版本曾主动声明过该权限,Google Play后台可能存在缓存,只要新版本确实移除了所有相关权限声明,等待后台数据更新后展示就会恢复正常。
排查与修复方案
  • 打开Android Studio主模块的AndroidManifest.xml文件,点击编辑器底部的「Merged Manifest」标签,即可看到完整的合并后Manifest内容,同时右侧会标注每一项权限的具体来源。
  • 如果你确认不需要该权限,可以在主项目Manifest中添加配置强制移除,示例如下:
<!-- 先在manifest根节点添加tools命名空间声明 -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="你的包名">

    <!-- 新增该行配置,指定要移除的权限名称 -->
    <uses-permission android:name="需要移除的权限完整名称" tools:node="remove" />

    <!-- 你的原有配置 -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <application ...>
    ...
</manifest>
  • 修改完成后可以打包APK,解压后直接查看APK根目录的AndroidManifest.xml确认权限是否已被移除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 11:36:03