如何使用ADB清除安卓设备上Chrome的指定Cookie?
可行解决方案
以下方案均不会触发Chrome服务条款弹窗,也不会修改Chrome的原有配置:
- 方案1:root设备/模拟器下直接操作Chrome Cookie数据库
测试前置步骤执行以下命令即可仅删除指定域名的Cookie:- 获取adb root权限:
adb root - 删除对应域名的Cookie(替换示例域名为你的实际认证服务域名):
adb shell sqlite3 /data/data/com.android.chrome/app_chrome/Default/Cookies "DELETE FROM cookies WHERE host_key LIKE '%your-auth-domain.com%';" - 强制停止Chrome让配置生效:
adb shell am force-stop com.android.chrome
如果执行时找不到Cookie数据库路径,可执行adb shell find /data/data/com.android.chrome -name Cookies查询实际存储路径。
- 获取adb root权限:
- 方案2:非root设备通过测试框架调用Cookie删除接口
如果你用Appium做UI测试,可直接在测试用例前置钩子中调用对应接口删除指定域名的Cookie:driver.manage().deleteCookieNamed("你的认证Cookie名称")
如果用Espresso+UiAutomator,可以通过Chrome DevTools Protocol的Storage.deleteCookies接口指定域名删除Cookie,无需操作Chrome全局数据。 - 方案3:直接使用Chrome无痕模式处理认证流程
触发身份验证跳转时给Intent添加无痕模式参数,每次认证都会开启全新的无痕会话,天然没有历史Cookie,完全不需要额外执行删除操作:
该方案对测试环境无额外要求,也不会影响Chrome的正常配置,适配所有安卓版本。intent.putExtra("com.android.chrome.EXTRA_INCOGNITO_MODE", true);
内容的提问来源于stack exchange,提问作者kroe761
相关产品推荐
相关产品推荐

