未使用AD_ID权限却被Google Play检测到,无法发布应用求助
解决Google Play检测到未声明的AD_ID权限问题
问题原因
你没在自己的清单文件里声明com.google.android.gms.permission.AD_ID,但这个权限大概率是第三方依赖库自动引入的——哪怕你已经删掉了AdMob相关包,有些统计、分析类SDK,甚至部分支付、社交SDK内部可能依赖了Google Play服务的广告模块;另外Android 13(API 33)及以上版本中,部分Google Play服务组件也会默认触发这个权限的添加,但核心原因还是依赖链的问题,不是系统强制要求的。
具体解决步骤
定位权限来源
- 用Android Studio的「Merge Manifest」功能:打开你的
AndroidManifest.xml,切换到底部的Merged Manifest标签,搜索com.google.android.gms.permission.AD_ID,右侧会显示该权限来自哪个依赖库。 - 或者在终端执行命令:
在输出结果里搜索AD_ID关键词,找到对应的依赖来源。./gradlew app:processDebugManifest --info
- 用Android Studio的「Merge Manifest」功能:打开你的
移除权限或清理依赖
- 如果找到的依赖是你不需要的,直接在
build.gradle(Module级别)里删除这个依赖项。 - 如果依赖必须保留,就在自己的
AndroidManifest.xml里添加权限移除声明:<!-- 先在根标签引入tools命名空间 --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <!-- 移除AD_ID权限 --> <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/> <!-- 你的其他权限声明 --> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="com.android.vending.BILLING" /> </manifest>
- 如果找到的依赖是你不需要的,直接在
完成Google Play发布配置
- 登录Google Play控制台,进入你的应用,找到「应用内容」页面,找到「广告ID」选项,选择不使用广告ID,然后提交应用更新即可。
内容的提问来源于stack exchange,提问作者Nitneuq
相关产品推荐
相关产品推荐

