Admob技术问询:如何让安卓设备恢复出厂设置后复用原广告ID
解决Root设备恢复出厂后复用原AdMob广告ID的方法
作为Root用户,你完全可以通过修改系统关键文件来固定AdMob的广告ID(GAID),避免恢复出厂后加载真实广告。下面是一步步的实操方案:
一、先备份原设备的广告ID
在恢复出厂设置之前,先把当前的广告ID备份好:
- 方式1:手动记录
打开手机的「Google 设置」>「广告」,就能看到你的广告ID,把它复制保存到安全的地方(比如电脑记事本)。 - 方式2:备份整个配置文件
用Root权限执行命令,直接备份广告ID的配置文件:
这个文件里的su cp /data/data/com.google.android.gms/shared_prefs/adid_settings.xml /sdcard/adid_backup.xmladid字段就是你的目标广告ID,也可以用命令查看:cat /data/data/com.google.android.gms/shared_prefs/adid_settings.xml
二、恢复出厂后恢复广告ID
设备完成恢复出厂并重新获取Root权限后,按以下步骤操作:
- 先打开一次Google Play Services,确保系统生成了广告ID的配置文件(不然直接复制会报错)。
- 把备份的文件复制回原路径:
su cp /sdcard/adid_backup.xml /data/data/com.google.android.gms/shared_prefs/adid_settings.xml - 修改文件权限,确保和系统默认的一致(不然Google Play Services可能不认):
或者你可以先查看原文件的权限(恢复前先记录一次),比如用chmod 600 /data/data/com.google.android.gms/shared_prefs/adid_settings.xml chown u0_a$(ps | grep com.google.android.gms | head -1 | awk '{print $1}' | cut -d'u' -f3):u0_a$(ps | grep com.google.android.gms | head -1 | awk '{print $1}' | cut -d'u' -f3) /data/data/com.google.android.gms/shared_prefs/adid_settings.xmlls -l /data/data/com.google.android.gms/shared_prefs/adid_settings.xml,然后手动设置对应的权限和用户组。
三、验证是否生效
重启设备后,打开「Google 设置」>「广告」,检查广告ID是否和你备份的一致。之后打开你的应用,应该就不会再加载真实广告了。
额外提示
- 如果你的ROM是定制版,找不到上述路径,可以用命令搜索相关文件:
su find /data/data/com.google.android.gms -name "*adid*" - 另外,也可以考虑直接在测试设备上使用AdMob的测试广告ID(在AdMob后台生成),这样即使设备ID变化,也不会触发真实广告,这也是很多开发者常用的测试方案。
内容的提问来源于stack exchange,提问作者Arjan Vlek




