API 30应用未给WRITE_EXTERNAL_STORAGE加maxSdkVersion会有合规问题吗?
结论
不会出现合规问题,Android 10(API 29)及以上系统会自动忽略你声明的WRITE_EXTERNAL_STORAGE权限,不会触发Google Play的政策违规。
具体原因说明
- Google Play的API 30适配政策核心要求是应用的
targetSdkVersion≥30,你的应用已经完成API 30适配,所有文件操作都通过MediaStore走分区存储逻辑,本身就不再依赖该存储权限,完全符合政策要求。 - 系统层面有明确规则:当应用
targetSdkVersion≥29时,android.permission.WRITE_EXTERNAL_STORAGE权限对Android 10及以上设备完全不生效,系统会直接过滤掉这个权限声明,用户在应用的权限列表中也看不到这个权限申请项。 - 未加
android:maxSdkVersion="28"唯一的影响仅体现在Android 9(API 28)及更低版本的设备上:应用还是会向用户申请这个存储权限,不会影响高版本设备的正常运行,也不违反Google Play的适配政策。
后续优化建议
你下次发布新版本的时候,补上android:maxSdkVersion="28"属性即可,正确配置如下:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" />
补全后可以避免低版本设备上不必要的权限申请,优化用户授权体验。
内容的提问来源于stack exchange,提问作者Madhan
相关产品推荐
相关产品推荐

