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

Android Studio下找不到MANAGE_EXTERNAL_STORAGE权限及相关ACTION问题

问题根因

你遇到的报错是因为使用的Android Gradle Plugin(AGP)版本4.1.3过旧,内置的SDK常量枚举没有同步Android 11(API 30)新增的权限和系统Action常量,哪怕配置了compileSdk为30也无法识别。

解决方法
  • 第一步:确认模块级build.gradle配置的compileSdk版本正确
    打开app/build.gradle,检查android节点下的compileSdk配置为30:
    android {
        compileSdk 30
        defaultConfig {
            targetSdk 30
            // 其余原有配置保留
        }
        // 其余原有配置保留
    }
    
  • 第二步:升级AGP和Gradle到适配API 30的版本
    打开项目级build.gradle,修改AGP依赖版本为4.2.2:
    dependencies {
        classpath "com.android.tools.build:gradle:4.2.2"
        // 其余原有插件配置保留
    }
    
    打开gradle/wrapper/gradle-wrapper.properties,修改Gradle分发地址为对应版本:
    distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
    
    修改完成后同步项目即可识别对应常量。
  • 第三步:临时兼容方案(无需升级版本)
    如果不想升级Gradle版本,可直接使用硬编码字符串代替常量,效果完全一致:
    1. AndroidManifest.xml中权限声明:
    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
    
    1. 跳转全文件访问权限设置页的代码:
    // Java 示例
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
        Intent intent = new Intent("android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION");
        startActivity(intent);
    }
    
    // Kotlin 示例
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
        val intent = Intent("android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION")
        startActivity(intent)
    }
    

注意:MANAGE_EXTERNAL_STORAGE仅在Android 11及以上系统生效,低于该版本的设备不需要申请该权限。

内容的提问来源于stack exchange,提问作者امیر سالار ربانیها

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:15:04