Flutter应用添加AD_ID权限后仍遭Play Console报错求助
以下是可能导致问题的原因及对应解决方法:
权限被依赖库自动移除
部分广告或第三方SDK可能通过tools:node="remove"在清单合并阶段删除了AD_ID权限。你可以直接检查构建后生成的最终清单文件:
路径:build/app/intermediates/merged_manifest/release/AndroidManifest.xml
如果发现权限确实被移除,在主AndroidManifest.xml的权限声明中添加tools:node="merge"强制保留:<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="merge"/>Flutter构建未正确合并清单
确认权限是添加在android/app/src/main/AndroidManifest.xml中(而非仅debug或release目录的清单文件),主清单是构建时的合并基础。执行flutter build apk --release后,务必再次检查上述生成的合并清单,确认权限存在。Android 13(API 33)版本适配问题
检查android/app/build.gradle中defaultConfig的targetSdkVersion是否正确设置为33或对应版本。若目标SDK版本高于33,需确保权限声明格式符合Android规范,无额外冲突限制。Play Console缓存或扫描延迟
上传构件后平台扫描可能存在延迟,尝试重新上传flutter clean后全新构建的release包,同时进入Play Console的「应用内容」→「广告ID」页面,重新确认声明状态并刷新页面后检查构件状态。依赖库版本兼容问题
检查你使用的广告SDK(如google_mobile_ads)版本,旧版本可能存在Android 13权限处理的兼容bug。更新到最新稳定版后重新构建上传。
内容的提问来源于stack exchange,提问作者Stéphane de Luca

