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

移除MANAGE_EXTERNAL_STORAGE后Android应用仍遭Play Store拒绝求排查

问题排查与解决建议

核心问题分析

从你提供的Manifest代码来看,Google Play拒绝的原因很明确:你的应用仍保留了不必要的外部存储权限及遗留存储配置,不符合Play商店的权限政策。具体问题点:

  1. 声明了READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE权限,这两个权限针对共享外部存储访问,若应用无实际需求,Play会判定为权限滥用。
  2. 应用标签里设置了requestLegacyExternalStorage="true"和preserveLegacyExternalStorage="true",这两个属性用于启用Android 10之前的遗留存储模式,会让Play认为你在依赖旧的外部存储机制,进一步坐实"不需要访问设备存储"的判定。

解决步骤

1. 清理Manifest中的冗余配置

  • 删除以下权限声明:
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE"
        tools:ignore="ScopedStorage" />
    
  • 移除application标签中的这两个属性:
    android:preserveLegacyExternalStorage="true"
    android:requestLegacyExternalStorage="true"
    

2. 替换代码中的外部存储API

检查代码中是否存在调用旧外部存储API的逻辑,替换为符合Scoped Storage规范的实现:

  • 应用私有文件存储:使用Context.getFilesDir()(内部存储,完全私有)或Context.getExternalFilesDir(null)(外部存储的应用私有目录,无需权限)
  • 媒体文件存储/读取:
    • 写入自身生成的媒体文件:使用MediaStore API,Android 10+无需权限
    • 读取其他应用的媒体文件:Android 13+使用细分权限READ_MEDIA_IMAGES/READ_MEDIA_VIDEO/READ_MEDIA_AUDIO,而非旧的READ_EXTERNAL_STORAGE
  • 缓存文件:使用Context.getCacheDir()(内部缓存)或Context.getExternalCacheDir()(外部缓存目录,无需权限)

3. 更新Play商店权限声明

如果之前在Play控制台填写了存储权限的使用说明,需删除相关内容,确保权限声明与应用实际使用的权限一致。

4. 重新提交审核

完成上述修改后,重新打包签名应用,提交到Google Play,并在审核备注中说明已移除不必要的存储权限及配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 04:33:36