实现效果:将( .crx ) 扩展文件添加到Chromium安装包内,首次启动自动安装
实现步骤:
准备扩展文件: DemoCRX.V12.crx
文件存放目录:chrome\browser\extensions\default_extensions
将 Chromium 扩展(.crx)文件添加到项目中,可以通过 ninja -C out\x86 mini_installer 命令打包在一起。
1、修改 chrome\browser\extensions\default_extensions\BUILD.gn
添加 .crx 文件名称
对于Windows 用户而言, 添加后的样子是这样的
if (is_win) {
copy("default_extensions") {
sources = [ "external_extensions.json",
"DemoCRX.V12.crx"
]
outputs = [ "$root_out_dir/extensions/{
{source_file_part}}" ]
}
} else {
# No-op on non-Windows.
group("default_extensions") {
}
}
对于Linux 用户
if (is_win) {
// Omitted Chromium code
} else {
# No-op on non-Windows.
# Added copy policy
copy("default_extensions") {
sources = [ "DemoCRX.V12.crx" ]
outputs = [ "$root_out_dir/extensions/{
{source_file_part}}" ]
}
2、生成扩展文件 ID
每个扩展程序都会由Chromium 分配一个唯一的ID,,要找出你的扩展程序ID,首先在已安装的 Chrome 中安装一次.crx扩展,而后会在用户文件夹中生成该ID,其路径在
C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Profile 1\Extensions
此目录下的文件夹名称则是扩展ID,类似: nmmhkkegccagdldgiimedpiccmgmaeda
三、现在开始修改C++源文件。
1、 修改 extensions\common\extension.h 头文件
我们在 extensions 命名空间中 声明扩展名称和 ID
namespace extensions {
//========================
extern const int kOurNumExtensions; // 扩展文件数量
extern const char* kOurExtensionIds[]; //扩展文件 ID
extern const char* kOurExtensionFilenames[]; //扩展文件名称
//========================
2、修改 extensions\common\extension.cc 文件
赋值扩展程序的ID 及名称,数量
namespace extensions {
//=====================================
const char* kOurExtensionIds[] = {"nmmhkkegccagdldgiimedpiccmgmaeda