Android Studio Flamingo中Target/Compile 33时存储权限不显示求助
解决Android SDK 33下权限找不到的问题
首先纠正:不存在
android.permission.Storage这个权限,旧版存储权限是android.permission.READ_EXTERNAL_STORAGE和android.permission.WRITE_EXTERNAL_STORAGE,但SDK 33开始这两个权限已被废弃,替换为READ_MEDIA_*系列媒体权限。针对
READ_MEDIA_*权限找不到的问题,按以下步骤排查:- 确认Module级别的
build.gradle中compileSdkVersion和targetSdkVersion确实设置为33,完成后点击Sync Now同步项目:android { compileSdkVersion 33 defaultConfig { targetSdkVersion 33 // 其他配置项... } } - 检查SDK管理器,确保已安装Android 13(API 33)的SDK平台及对应Build Tools:
- 路径:
Tools > SDK Manager > SDK Platforms,勾选Android 13 (API 33) - 切换到
SDK Tools标签,确认对应版本的Build Tools已安装
- 路径:
- 无需依赖IDE自动补全,直接在
AndroidManifest.xml中手动添加所需权限:
注:SDK 33中访问非媒体文件无需申请权限,需通过存储访问框架(SAF)操作;仅特殊场景(如文件管理器类应用)可申请<!-- 按需添加对应媒体类型权限 --> <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" /> <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" /> <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />MANAGE_EXTERNAL_STORAGE权限,但需符合Google Play政策。 - 若IDE仍不识别权限,清理缓存并重启:
File > Invalidate Caches... > 勾选Invalidate and Restart
- 确认Module级别的
补充说明:SDK 33中,
READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE仅对Android 12及以下版本生效;Android 13+设备无需申请写入媒体文件的权限,直接操作即可。
内容的提问来源于stack exchange,提问作者suresh
相关产品推荐
相关产品推荐

