Chromium_src源码

Chromium_src源码

码云上有一个OpenHarmony-TPC/chromium_src项目,目前已经停止维护了,迁移到GitCode上了,源代码项目地址为:openharmony-tpc/chromium_chrome
特此记录一下老的项目的相关软件架构

Chromium

简介

软件架构

软件架构说明

  • webview组件:OpenHarmony的UI组件。
  • nweb:基于CEF构建的OpenHarmony Web组件的Native引擎,主要构建Web组件浏览器内核的部分能力。
  • CEF:CEF全称Chromium Embedded Framework,是一个基于Google Chromium 的开源项目。

使用说明

软件架构说明

  1. 下载代码:以主干(master)为例,要下载其他分支代码请替换-b 后带的manifest分支参数,参数列表详见8。下载114_trunk分支代码时需要将-m 后的参数由chromium.xml替换为developer.xml。

    repo init -u https://gitee.com/openharmony-tpc/manifest -b chromium -m chromium.xml --no-repo-verify
    repo sync -c
    repo forall -c 'git lfs pull'
    
  2. 执行预编译下载,安装编译工具链及Sdk。

    ./prebuilts_download.sh
    
  3. 编译

    编译同时构建未签名Hap包:

    形态:rk3568

    ./build.sh  -t w -A rk3568
    

    仅编译so库:

    ./build.sh -A rk3568
    

    形态:rk3568_64

    ./build.sh  -t w -A rk3568_64
    

    仅编译so库:

    ./build.sh -A rk3568_64
    
  4. 签名

    形态:rk3568

    ./sign.sh rk3568
    

    形态:rk3568_64

    ./sign.sh rk3568_64
    
  5. 调试方法

    方法一:替换so库

    编译完成后,在out目录下找到对应so库产物,将它们推送到设备中

    hdc shell "mount -o remount,rw /"
    hdc file send libnweb_render.so /data/app/el1/bundle/public/com.ohos.nweb/libs/arm
    hdc file send libweb_engine.so /data/app/el1/bundle/public/com.ohos.nweb/libs/arm
    pause
    hdc shell reboot
    pause
    

    方法二:替换hap包

    编译完成后,在out目录下找到NWeb-rk3568.hap或者NWeb-rk3568_64.hap, 将它推送到设备中。

    hdc shell "mount -o remount,rw /"
    hdc file send NWeb-rk3568.hap /system/app/com.ohos.nweb/NWeb.hap
    hdc shell "rm /data/* -rf"
    hdc shell reboot
    
  6. 所有Chromium仓对应目录映射关系

    https://gitee.com/openharmony-tpc/manifest/blob/master/chromium.xml

  7. 上库指导

    7.1 将chromium_src 仓 fork到自己的私仓

    7.2 下载全量代码

    7.3 修改调试代码

    7.4 将文件添加到暂存区

    使用git add将修改后的文件添加到暂存区

    7.5 显示工作区和暂存区的状态

    使用git status查看自己的修改是否放到暂存区,查看项目历史信息使用git log。

    7.6 将工作区内容或暂存区内容提交到版本库

    使用git commit -sm”提交信息描述” 将修改后的文件进行提交,注意-s一定不能漏,这个是签名,否则提的PR会报DCO错误

    DCO签署链接:https://dco.openharmony.cn/sign-dco

    7.7 将代码提交到对应fork出来的私仓地址上

    如:git push https://gitee.com/[giteeUserName]/chromium_src

    7.8 新建PR

    7.9 如果涉及联合构建,建立ISSUE,并在需要联合构建的PR中都绑定该ISSUE

    7.10 在PR下面评论start build开始构建

    7.11 联系committer加分

  8. chromium各版manifest分支名

    99分支:chromium

    114分支:114_trunk

    配套OpenHarmony 3.2Release分支:3.2_Release

    配套OpenHarmony 4.0Release分支:4.0_Release

    配套OpenHarmony 4.1 Beta1 分支:master114_20231218

相关仓

  • chromium_cef
    Cef是chromium项目的一个分支,抽离webkite和内核层,提供content层上的API接口,把复杂的底层接口进行封装,更加友好的给用户使用,多数用于客户端的开发,通过内置页面实现快速开发客户端界面的效果
  • chromium_third_party_ohos_nweb_hap
    ohos nweb hap包
    本仓为将OpenHarmony WebView内核编译生成的libneb_render.so、libweb_engine.so打包生成Nweb.hap的Hap包工程。此仓不支持单独编译,开发者无需关注此仓,只需在门禁构建产物中获取Hap包即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28109.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习神经网络分类原理

每一个神经元做的是一个类似回归的操作 最后一层是softmax函数,每一个输出就会变成一个0到1之间的数,也就是概率,然后他们之间的和加起来等于1,到底是哪一个分类就是看哪个神经元的这个值最大。 那么如何算损失呢: 加…

编程题 - 汽水瓶【JavaScript/Node.js解法】

‌“学如逆水行舟,不进则退。”‌ ——《增广贤文》 目录 汽水瓶 题目:解答分析:js代码解答 -ACM模式:代码通过:题解分析:简洁思路代码: 汽水瓶 题目: 某商店规定:三个空…

Oracle 数据库基础入门(四):分组与联表查询的深度探索(上)

在 Oracle 数据库的学习进程中,分组查询与联表查询是进阶阶段的重要知识点,它们如同数据库操作的魔法棒,能够从复杂的数据中挖掘出有价值的信息。对于 Java 全栈开发者而言,掌握这些技能不仅有助于高效地处理数据库数据&#xff0…

Mybatis实现批量添加

1.设计一张商品表 CREATE TABLE IF NOT EXISTS goods (id BIGINT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL );2.编写实体类映射数据库表格 Data public class Goods {private Long id;private String name;// Getters and Setters }3.编写持久层接口以及其对应…

FPGA开发时序图绘制

开始的时候画时序图都是拿 visio 硬连,但是那个线宽太难统一了,丑不拉几的,遂学习 waveform 语法使用代码来画时序图。 开始 Vscode 中安装 waveform render 或者在 GitHub 搜索 wavedrom 安装即可。由于 vscode 是我常用的编辑器&#xff…

【Python爬虫】爬取公共交通路网数据

程序来自于Github,以下这篇博客作为完整的学习记录,也callback上一篇爬取公共交通站点的博文。 Bardbo/get_bus_lines_and_stations_data_from_gaode: 这个项目是基于高德开放平台和公交网获取公交线路及站点数据,并生成shp文件,…

微服务组件详解——sentinel

1.启动sentinel: 下载jar sentinel-dashboard-1.8.0.jar 使用以下命令直接运行 jar 包(JDK 版本必须≥ 1.8): java -Dserver.port9999 -jar D:\sentinel-dashboard-1.8.0.jar 控制台访问地址:http://localhost:9999…

AJAX介绍

XMLHttpRequest get请求使用 const xhr new XMLHttpRequest(); xhr.open("GET", "/data/test.json", true); xhr.onreadystatechange function () {if (xhr.readyState 4) {if (xhr.status 200) {alert(xhr.responseText);} else {console.log("…

Windows下使用docker安装rocketmq

最近准备把rocketmq重新学下,先把环境搭建好 Windows下安装docker拉取最新的rocketmq启动nameserver启动broker 首先在Windows下安装docker,之前不知道为什么,docker desktop启动一直报错,今天把Windows更新了一下,do…

Oracle 11g的部署配置

1、进入官网下载所需版本的Oracle 2、安装 ①:选择setup.exe开始安装 ②:安装提示如下,直接忽略,选是 ③:配置安全更新 填写邮箱,并取消勾选 ④:如果点击下一步,提示什么代理啥的…

【RabbitMQ】RabbitMQ的核心概念与七大工作模式

🔥个人主页: 中草药 🔥专栏:【中间件】企业级中间件剖析 在现代分布式系统和微服务架构中,消息队列(Message Queue) 是解决服务间通信、系统解耦和流量削峰的关键技术之一。而 RabbitMQ 作为一…

springboot宠物服务系统-计算机毕业设计源码29146

目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3 论文结构与章节安排 2 系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据新增流程 2.2.2 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 系统总体…

使用 CLion 代替 BeyondStudio for NXP 开发 JN 5169

使用 CLion 代替 BeyondStudio for NXP 开发 JN 5169 一、安装 CLion二、搭建 NXP JN5169 ZigBee 3.0 开发环境和下载示例工程三、配置 CLion1、使用 CLion 打开 JN-AN-12192、创建自定义构建目标3、添加构建配置4、在构建前添加外部工具5、添加 6 个运行配置对于 6 个构建选项…

《鸢尾花数学大系:从加减乘除到机器学习》开源资源

《鸢尾花数学大系:从加减乘除到机器学习》开源资源 Gitee:https://gitee.com/higkoo/ bilibili:https://space.bilibili.com/513194466 GitHub:https://github.com/Visualize-ML

操作系统启动——前置知识预备

文章目录 1. 理解冯诺依曼体系结构1.1 简单见一见冯诺依曼1.2 进一步认识1.3 为什么一定要有内存的存在? 2. 操作系统2.1 概念2.2 设计OS的目的2.3 OS的核心功能2.4 如何理解“管理”二字?(小故事版)2.5 系统调用和库函数概念 3. 进程简述3.1 基本概念3.…

PMP项目管理—资源管理篇—5.管理团队

文章目录 基本信息4W1HITTO输入工具与技术输出 冲突管理解决方案八字方针冲突管理策略 基本信息 4W1H what: 跟踪团队成员工作表现,提供反馈,解决问题并管理团队变更,以优化项目绩效的过程。why: 影响团队行为、管理团队冲突,解…

数据结构与算法:选择排序

介绍 选择排序是一种简单直观的排序算法,其基本思想是:从待排序的数据元素中,每次选择最小(或最大)的元素,将其与序列的起始位置交换,然后继续对剩余的元素进行排序,知道整个序列排…

大模型提示词推理架构对比:ReAct/CoT/ToT

人工智能(AI)已不再只是一个流行词——它是驱动现代问题解决的引擎。但AI究竟是如何“思考”的呢?这就涉及到了推理框架。在本文中,我们将探讨三种关键框架:ReAct(推理与行动)、思维链&#xff…

【Linux】冯诺依曼体系结构-操作系统

一.冯诺依曼体系结构 我们所使用的计算机,如笔记本等都是按照冯诺依曼来设计的: 截止目前,我们所知道的计算机都是由一个一个的硬件组装起来的,这些硬件又由于功能的不同被分为了输入设备,输出设备,存储器…

【云原生】Spring Cloud是什么?Spring Cloud版本介绍

什么是SpringCloud 上一章节介绍了总体的SpringCloud的总体学习章节,因为最近项目刚好需要用到SpringCloud来搭建微服务项目、所以就跟着大家一起来再学习巩固下SpringCloud的相关知识 SpringCloud是基于SpringBoot提供了一套微服务解决方案,包括服务注…