Flutter报No permission found in the manifest for [] 15问题排查
问题原因及修复方案
报错根因
- 你配置的
AndroidManifest.xml中存储相关权限的命名格式错误:Android系统要求权限声明的前缀必须为全小写的android.permission,你写的android.Manifest.permission(Manifest首字母大写)不符合系统规则,导致这几个存储权限无法被系统识别。 - 报错信息中的
[] 15对应你运行应用的设备是Android 15(API 35)系统,代码中申请的Permission.storage权限没有匹配到清单文件中的有效配置,是本次未被识别的权限。麦克风权限的配置格式正确,没有问题。
修复步骤
- 替换
AndroidManifest.xml中所有存储权限的前缀,修正后的配置如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.voice_recorder"> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/> <application android:label="voice_recorder" ...
- 如果你使用的
permission_handler依赖版本≥11.0.0,需要确认android/app/build.gradle中的compileSdkVersion配置≥33,避免高版本Android系统的权限适配问题。 - 修正配置后执行
flutter clean清理构建缓存,卸载设备上的旧版应用后重新打包安装即可。
内容的提问来源于stack exchange,提问作者who-aditya-nawandar
相关产品推荐
相关产品推荐

