如何用开发中扩展覆盖应用商店版本以调试存储迁移?
测试Chrome扩展Storage Migration的升级安装方法
要让本地未打包扩展作为已安装版本的升级加载,核心是让两者使用相同的扩展ID,具体步骤如下:
获取已安装扩展的公钥
- 打开Chrome扩展管理页面(
chrome://extensions/),开启右上角「开发者模式」 - 找到目标已安装扩展,点击「详细信息」
- 复制页面中的「ID」字段值
- 打开Chrome扩展数据目录:
- Windows:
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions\[已复制的扩展ID]\[对应版本号] - Mac:
~/Library/Application Support/Google/Chrome/Default/Extensions/[已复制的扩展ID]/[对应版本号] - Linux:
~/.config/google-chrome/Default/Extensions/[已复制的扩展ID]/[对应版本号]
- Windows:
- 打开该目录下的
manifest.json,复制其中的key字段完整值(含引号)
- 打开Chrome扩展管理页面(
配置本地开发扩展
- 打开本地扩展的
manifest.json,添加或替换key字段,粘贴刚才复制的公钥值 - 将本地扩展的
version号设置为高于已安装版本的版本号(这是触发升级逻辑的必要条件)
- 打开本地扩展的
模拟升级加载
回到Chrome扩展管理页面,点击「加载已解压的扩展程序」,选择本地开发的扩展文件夹。此时Chrome会识别为同ID高版本扩展,自动替换已安装版本,触发storage migration逻辑调试验证
- 加载完成后,通过
chrome.storage.local.get()或chrome.storage.sync.get()查看存储数据是否按预期迁移 - 可在后台脚本中添加
console.log输出迁移日志,通过Chrome开发者工具控制台查看调试信息
- 加载完成后,通过
如果是首次模拟升级流程,可先通过「打包扩展程序」功能生成低版本的.crx文件并安装,再按上述步骤加载高版本本地扩展。
内容的提问来源于stack exchange,提问作者erosman
相关产品推荐
相关产品推荐

