• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/rk3568src/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