Flutter校园APP因MANAGE_EXTERNAL_STORAGE权限遭Google Play拒审解决方案咨询
Flutter 校园APP Google Play 权限审核问题解决方案
问题核心
你的APP因请求非核心功能的存储权限被拒,即使移除了作业上传模块,仍需确保file_picker包不会残留不必要的权限请求,同时严格遵循Android 11+的存储权限规范。
具体解决步骤
- 清理Manifest中的冗余权限
打开Android项目的AndroidManifest.xml,删除MANAGE_EXTERNAL_STORAGE、READ_EXTERNAL_STORAGE、WRITE_EXTERNAL_STORAGE这类非必要的存储权限声明——既然已经移除作业上传功能,这些权限完全不需要。 - 限制file_picker的文件访问范围
使用file_picker时,指定具体允许的文件类型,让包通过系统文件选择器获取文件,无需申请存储权限:
这种方式依赖系统原生文件选择器,不会触发额外的权限请求,完全符合Google的权限要求。FilePickerResult? result = await FilePicker.platform.pickFiles( type: FileType.custom, allowedExtensions: ['pdf', 'doc', 'docx'], // 根据业务需求调整 ); - 移除主动权限请求逻辑
检查代码中所有主动请求存储权限的代码(比如用permission_handler包发起的权限请求),全部删除,确保APP不会向用户发起任何非核心权限申请。 - 后续恢复功能的适配建议
如果之后要重新上线作业上传功能,绝对不要申请MANAGE_EXTERNAL_STORAGE权限,继续用file_picker的现有模式(依赖系统文件选择器),或者直接使用Android存储访问框架(SAF),让用户自主选择文件,无需全存储访问权限。
提交前验证
- 用Android Studio的App Inspection工具检查APK的权限请求,确认无冗余存储权限。
- 在Android 11+设备上测试,确保APP不会弹出存储权限申请弹窗。
内容的提问来源于stack exchange,提问作者thekavak
相关产品推荐
相关产品推荐

