当前位置: 首页 > news >正文

Chromium 浏览器引擎移植到 OHOS 平台

Chromium 114 CEF Qt for OHOS

原文地址:https://devcloud.cn-north-4.huaweicloud.com/codehub/project/b19f5ea8ffd4492ea8c06ca2ebf3f858/codehub/2843951/home?ref=hw%2Fchromium%2Fohos%2F114.0.5735.248-cef-qt-dev&filePath=README.md&isFile=true

基于 Chromium 114.0.5735.248 版本,集成 CEF (Chromium Embedded Framework) 和 Qt,适配 OHOS (鸿蒙) 平台的浏览器引擎项目。

项目概述

本项目将 Chromium 浏览器引擎移植到 OHOS 平台,提供:

  • CEF 集成:支持嵌入式浏览器控件开发
  • Qt 支持:可选的 Qt 集成方案
  • OHOS 适配:针对鸿蒙系统的原生适配

目录结构

. ├── src/ # Chromium 源代码目录 │ ├── cef/ # CEF 源代码 │ └── ... ├── patch/ # 补丁目录(按日期组织) │ ├── 24_10_18/ │ ├── 24_10_25/ │ └── ... ├── build/ # 构建配置 │ ├── config/ # 构建配置文件 │ │ ├── default.json │ │ └── ohos.json │ └── config_to_gn.py ├── build.sh # 主构建脚本 ├── get_chromium_114.sh # Chromium 源码获取脚本 ├── app_define.json # 应用定义配置 └── VersionSet.xml # 版本配置

环境要求

  • OHOS SDK
  • BiSheng 编译器(用于 PGO 优化构建)
  • depot_tools(Chromium 构建工具)
  • ninja 构建系统
  • ccache(可选,加速编译)

获取源码

./get_chromium_114.sh

该脚本将:

  1. 使用fetch获取 Chromium 源码
  2. 切换到 114.0.5735.248 版本
  3. 同步依赖

构建说明

基本构建

# 构建 CEF(默认)./build.sh musl_64# 构建 Content Shell./build.sh musl_64-tc# 构建 Chrome./build.sh musl_64-tb

支持的目标平台

参数说明
musl_64ARM64 架构,使用 musl C 库

构建选项

./build.sh[OPTIONS][PRODUCT]OPTIONS:-jN 指定并行编译任务数-ccache启用 ccache 加速编译-t<target>构建目标: c(content_shell)/ b(chrome)-o<output_dir>指定输出目录-asan启用 AddressSanitizer-dDebug 模式构建-isl启用渲染进程沙箱隔离-h显示帮助信息 PGO 选项: no_pgo 禁用 PGO pgo_instrumentation_phase PGO 数据采集阶段 pgo_optimization_phase PGO 优化阶段(默认)

构建示例

# 使用 32 核并行编译,启用 ccache./build.sh musl_64-j32-ccache# Debug 模式构建./build.sh musl_64-d# 指定输出目录./build.sh musl_64-omy_build

构建输出

编译产物位于src/out/<target>/目录:

  • musl_64:src/out/musl_64/

补丁管理

补丁按日期组织在patch/目录下,每个子目录包含:

  • chromium_YY_MM_DD.patch- 主补丁文件
  • chromium_YY_MM_DD.patch.hwlog- OHOS 日志相关补丁
  • *.rejfile- 补丁冲突记录
  • *.apply- 补丁应用记录

配置文件

build/config/default.json

默认构建配置,包含 OHOS NWEB 扩展相关设置。

build/config/ohos.json

OHOS 平台特有配置,如拖拽功能等。

许可证

本项目遵循 BSD 风格许可证,详见 LICENSE 文件。

文档

  • CEF 嵌入 QT 工程说明文档 - CEF 在 OHOS 平台上与 Qt 集成的详细说明文档
  • CEF 离屏渲染指导文档 - Qt + CEF 离屏渲染(OSR)接入指南与Demo解析
  • CEF Qt 框架日志说明 - CEF 在 OHOS 平台上的日志查看与分析指南

相关链接

  • Chromium 项目
  • CEF 项目
  • CEF 文档

API 文档

完整的 CEF 114 在 OHOS 平台上的 API 文档:

  • API 文档入口
  • 全量 API 索引 - 共 1263 个 API(其中 611 个含鸿蒙兼容性说明)
http://www.jsqmd.com/news/843278/

相关文章:

  • 7-DOF机械臂自适应NT-STSM控制算法解析与应用
  • 接收机动态范围:从核心概念到工程实践,提升复杂电磁环境下的信号接收能力
  • 动态目标跨镜无缝接力追踪技术在仓储物流安全场景中的应用白皮书
  • AI行业的“隐形赛道”:AI伦理与合规人才缺口到底有多大
  • CNN 知识点深度讲解
  • 算法工程师简历封神指南:项目细节 + 论文 / 竞赛成果缺一不可
  • R型变压器绝缘系统全解析:从材料选型到工艺测试的工程实践
  • 主题7:缓存与队列——速度不匹配的通用解
  • VS Code CircuitPython扩展实战:嵌入式开发环境搭建与高效调试指南
  • Cortex-M处理器独占访问机制与总线协议解析
  • 中控SCADA通过VBS与Python协同实现数据智能处理
  • Windows HEIC缩略图终极解决方案:一键开启iPhone照片预览功能
  • 树莓派USB音频卡配置指南:从芯片识别到ALSA调优
  • 教你一招轻松定生物医学论文插图
  • OpenEuler桌面化踩坑实录:从黑屏登录界面到完美远程访问,我的xfce+xrdp配置全记录
  • 小学期学习记录
  • 别再死磕ICEM了!用Fluent Meshing搞定旋转周期性网格,SpaceClaim预处理到Fluent求解全流程
  • RDMA网络调试实战:当你的应用卡顿时,如何定位是哪种Error导致了重传?
  • Vivado安装避坑指南:从环境配置到实战验证的完整流程
  • 不止是图像采集:基于RK3588 NPU和FPGA,如何给Cameralink相机注入AI灵魂(附目标跟踪/电子稳像实战)
  • FcaNet:从频域视角重构通道注意力,超越GAP的单一信息瓶颈
  • XBee无线通信配置与Arduino应用实战:从基础到无线编程
  • 智慧展馆(数字孪生 + 三维重建)全解析
  • 基于ESP8266与TFT屏的桌面智能天气站DIY全攻略
  • NotebookLM评论反馈功能全链路拆解(从Prompt响应延迟到语义锚定失效的7个致命断点)
  • Linux运维必备23个核心命令:从文件操作到性能监控实战指南
  • CircuitPython库管理实战:从安装优化到API深度应用
  • 你的综述,为什么像文献摘要合集?
  • 避开这些坑!ZYNQ裸机下PS+PL双网口LWIP调试常见问题与解决方案
  • 从Launch/Capture路径理解CRPR:一个例子讲清楚它在Setup/Hold检查中的关键作用