Flutter应用上传Google Play商店遭拒问题咨询
Flutter应用上传Google Play被拒(疑似permission_handler权限问题)的解决办法
1. 确认权限是否真的被移除
有时候tools:node="remove"可能因位置或缓存问题未生效,你可以通过以下命令检查最终打包后的权限:
aapt dump badging app/build/outputs/apk/release/app-release.apk
在输出结果中搜索REQUEST_INSTALL_PACKAGES,如果仍能找到,说明移除操作未生效:
- 检查
AndroidManifest.xml是否在正确路径(android/app/src/main/AndroidManifest.xml) - 排查是否有其他依赖库也引入了该权限,需同样添加移除声明
2. 精准控制permission_handler引入的权限
permission_handler默认会引入大量权限,即使手动移除部分也可能有遗漏。可在pubspec.yaml中配置仅引入你需要的权限:
dependencies: permission_handler: ^10.2.0 # 替换为你的实际版本号 # 添加权限控制配置 permission_handler: permissions: - INTERNET - CAMERA - ACCESS_NETWORK_STATE - READ_EXTERNAL_STORAGE - USE_FINGERPRINT
这样只会打包你指定的权限,减少不必要的权限暴露。
3. 检查其他可能触发拒审的权限
- 存储权限:若targetSdkVersion≥33,
READ_EXTERNAL_STORAGE已被废弃,需改用READ_MEDIA_IMAGES/READ_MEDIA_VIDEO等细分权限,否则会因权限不合规被拒 - 生物识别权限:
USE_FINGERPRINT是旧版权限,建议替换为USE_BIOMETRIC以兼容新版Android系统,同时需在Google Play控制台明确说明该权限的使用场景(如身份验证)
4. 清理缓存并重新构建
缓存可能导致权限配置未更新,执行以下命令重新构建发布包:
flutter clean flutter build appbundle --release
确保上传的是全新构建的App Bundle。
5. 完善Google Play权限声明
即使权限配置正确,若在Google Play控制台的应用内容 > 权限声明中未准确说明每个权限的使用场景,也会被拒。比如:
CAMERA:用于拍摄照片上传READ_EXTERNAL_STORAGE:用于读取本地照片用于编辑
需保证每个权限的声明和实际功能完全匹配。
内容的提问来源于stack exchange,提问作者Otis
相关产品推荐
相关产品推荐

