1# chromium 2- [简介](#简介) 3- [目录](#目录) 4- [使用说明](#使用说明) 5- [相关仓](#相关仓) 6## 简介 7### 内容介绍 81. Chromium是由Google主导开发的网页浏览器,以BSD许可证等多重自由版权发行并开放源代码,是Google的Chrome浏览器背后的引擎,其目的是为了创建一个安全、稳定和快速的通用浏览器。 92. OpenHarmony nwebview基于Chromium构建。 10### 软件架构 11软件架构说明 12``` 13 ----------------------- 14 | web组件 | 15 ----------------------- 16 | nwebview | 17 ----------------------- 18 | CEF | 19 ----------------------- 20 | Chromium | 21 ----------------------- 22 | OpenHarmony基础库 | 23 ----------------------- 24``` 25* web组件:OpenHarmony的UI组件。 26* nwebview:基于CEF构建的OpenHarmony web组件的Native引擎。 27* CEF:CEF全称Chromium Embedded Framework,是一个基于Google Chromium 的开源项目。 28* Chromium: Chromium是一个由Google主导开发的网页浏览器,以BSD许可证等多重自由版权发行并开放源代码。 29## 目录 30``` 31. 32└── patch # 构建nwebview,针对chromium修改的patch目录 33``` 34## 使用说明 351. 执行./init_chromium.sh,初始化源代码,主要做以下几步 36* 下载google工具集depot_tools。 37* 拉取chromium源码,下载chromium依赖的相关三方库 38* 在源代码基础上增加针对nweb的构建修改,主要包括:增加cef代码,openharmony编译构建适配,nweb构建源码,chromium漏洞补丁以及nweb的bugfix修改。 39*注1:关于cef的介绍,可以访问cef仓:[third_party_cef](https://gitee.com/openharmony/third_party_cef)* 402. 全量编译RK3568平台openharmony镜像,成功后,再执行第三步编译基于openharmony平台的nweb组件。 41*注2:关于如何构建RK3568平台openharmony镜像,可以访问:[RK3568编译指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-ide-3568-build.md)* 423. 执行./build.sh rk3568,编译源码。 434. 通过DevEco studio将编译目标打包成NWeb.hap,使用hdc_std install NWeb.hap安装至RK3568, 44* 1.IDE下载可访问:[下载官网](https://developer.harmonyos.com/cn/develop/deveco-studio#download) 45 ![](figures/下载版本.png "下载版本") 46 47* 2.新建OpenHarmony空白工程 48 ![](figures/新建工程.png "新建工程") 49* 3.复制编译生成的文件(src/out/rk3568或src/out/rk3568_64目录下)至工程对应位置 50 ![](figures/存放路径.png "存放路径") 51 52* 4.删除entry/src/main/ets/pages/Index.ets文件 53 54* 5.修改src/main/ets/entryability/EntryAbility.ts文件为以下内容: 55 ![](figures/EntryAbility_ts.png "EntryAbility.ts") 56 57* 6.修改src/main/module.json5文件,删除"abilities"字段 58 59* 7.删除src/main/resources/base/media/icon.png 60 61* 8.修改AppScope/app.json5中"vendor"的值为"nweb", 62 63* 9.删除src/main/resources/base/profile/main_pages.json中”src”中的内容 64 65* 10.配置自动签名之后,通过IDE打包hap 66 67* 11.由于签名不同,无法直接安装,通过 68 hdc file send 本地hap包 /system/app/com.ohos.nweb/NWeb.hap 69进行安装 70 71## 相关仓 72[ace_ace_engine](https://gitee.com/openharmony/ace_ace_engine) 73 74[third_party_cef](https://gitee.com/openharmony/third_party_cef) 75 76[web_webview](https://gitee.com/openharmony/web_webview) 77 78**[third_party_chromium](https://gitee.com/openharmony/third_party_chromium)** 79