如何解决Flutter应用上传Google Play控制台报CAMERA权限需隐私政策错误
该报错并非权限声明缺失,是Google Play合规校验的强制规则:只要APK/AAB 包内存在android.permission.CAMERA敏感权限声明——无论权限是你主动声明的,还是集成的第三方插件(比如项目里引入的camera、image_picker包)自动注入的——都必须配套公开可访问的隐私政策公示,否则会被拦截上传。
场景一:确实需要使用相机功能的合规处理流程
- 准备一份无访问门槛的公开隐私政策页面,明确说明相机权限的具体使用场景(比如拍照上传凭证、扫码等)、采集到的影像/图像数据的存储与使用规则
- 进入Google Play控制台对应应用的管理页:
- 打开「政策」-「应用内容」配置板块
- 找到「隐私政策」配置项,填入准备好的公开页面链接,保存提交
- 在「数据安全」板块补全对应申报:说明相机权限关联的数据收集范围、用途,若目标受众包含儿童还需匹配对应儿童隐私合规要求
- 配置完成后重新上传安装包即可通过校验。
场景二:无相机功能使用需求,移除冗余权限从根源规避校验
项目中自动注入的相机权限大多来自第三方插件,实际业务不一定用到,可直接在Manifest层面强制剥离权限,无需修改插件源码:
- 打开
android/app/src/main/AndroidManifest.xml,在根标签处新增tools命名空间声明:<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.example.subidhacustomermobileappv2"> - 在
<uses-permission>同级位置,添加强制移除相机权限的规则:<!-- 移除所有渠道注入的相机权限 --> <uses-permission android:name="android.permission.CAMERA" tools:node="remove" /> - 本地打包完成后,通过Android Studio的APK分析工具校验最终包内的权限列表,确认
CAMERA权限已被移除,再上传控制台即可避免触发该类校验。 - 注意:执行该操作前需确认代码中所有调用系统相机、插件内直接拍照的逻辑已删除,否则移除权限后对应功能会出现调用崩溃。
额外优化项
- 当前Manifest中重复声明了两次
RECEIVE_BOOT_COMPLETED权限,可删除冗余行,减少合规校验的冗余排查项。 - 低版本
image_picker插件即使仅用于相册选图场景,也会自动注入相机权限,不需要拍照能力时可通过上述权限移除规则直接剥离。
内容的提问来源于stack exchange,提问作者MD MEHEDI HASAN
相关产品推荐
相关产品推荐

