Google Play Console权限声明与实际Manifest不符:QUERY_ALL_PACKAGES和AD_ID异常问题求助
Google Play Console权限声明与实际Manifest不符:QUERY_ALL_PACKAGES和AD_ID异常问题求助
我最近在把Flutter应用发布到Google Play Console时,遇到了完全矛盾的权限声明错误——控制台显示的权限状态和我本地源文件、最终构建产物里的Manifest完全对不上,折腾了好几种方法都没解决,现在卡在发布流程里了,来求助各位大佬!
具体异常情况
- QUERY_ALL_PACKAGES权限问题:Google Play Console提示我"不完全的广泛包可见性声明",要求我补全QUERY_ALL_PACKAGES权限的声明,但这个权限根本没出现在我的任何Manifest文件里
- AD_ID权限问题:我在Play Console里已经声明了应用会使用广告ID,但控制台却提示我当前活跃产物的Manifest里缺少
com.google.android.gms.permission.AD_ID权限,可这个权限明明在我的源文件和最终构建产物里都存在
我已经验证的内容
源Manifest文件(android/app/src/main/AndroidManifest.xml)
我确认源文件里只有这几个权限,完全没有QUERY_ALL_PACKAGES:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="com.google.android.gms.permission.AD_ID" /> <!-- QUERY_ALL_PACKAGES 完全不存在 -->
最终构建产物的Manifest(通过Android Studio的"Analyze APK"工具验证)
我把构建好的App Bundle(.aab)导入Android Studio分析,最终Manifest里的权限如下,同样没有QUERY_ALL_PACKAGES:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="com.google.android.gms.permission.AD_ID" /> <uses-permission android:name="com.android.vending.BILLING" /> <!-- 确认最终构建产物里也没有QUERY_ALL_PACKAGES -->
我已经尝试过的解决方法
- 多次执行完整的清理构建流程:
flutter clean+ 重新执行flutter build appbundle --release生成发布包 - 反复验证最终AAB产物:每次构建后都用Android Studio的"Analyze APK"工具检查Manifest内容,确认权限和我预期一致
- 更新应用版本:前后创建了好几个新版本(当前是v1.1.10+14)上传,问题依然存在
- 清除浏览器缓存:换了不同的浏览器访问Play Console,也清除了缓存,结果还是一样
- 等待系统同步:每次上传新版本后都等了好几个小时,以为是控制台缓存,但问题没消失
我的疑问
- 为什么Google Play Console会显示QUERY_ALL_PACKAGES权限存在,而我已经确认它在源文件和最终构建产物里都不存在?
- 为什么控制台会说AD_ID权限缺失,可这个权限明明在两个Manifest文件里都明确声明了?
- 这是不是Google Play Console的已知缓存问题?如果是的话,大概需要等多久系统才会更新状态?
- 有没有其他工具或方法,可以确认Google Play Console实际在分析的产物内容到底是什么?
额外背景
应用本身的功能一切正常,没有任何权限相关的运行时问题,这看起来完全是Play Console的分析/声明系统出了问题,但它直接卡住了我的发布流程。有没有大佬遇到过类似的Manifest和Play Console权限声明不匹配的情况?
内容来源于stack exchange
相关产品推荐
相关产品推荐

