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

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包即可。

相关文章:

  • 【uniapp-Vue3】beforeRegister在注册用户入库前设置初始用户
  • 第四章 数据库安全性
  • 如何配置redis.conf才能远程访问
  • GitHub 语析 - 基于大模型的知识库与知识图谱问答平台
  • AI辅助学习vue第十三章
  • 【SpringBoot】SpringBoot中分页插件(PageHelper)的使用
  • ESP32 S3开发笔记(环境搭建,成功烧录)
  • LDR6500 PD 协议芯片在不同设备中的应用场景
  • Tomcat异常日志中文乱码怎么解决
  • fastadmin 后台商品sku(vue)
  • 《SegFace: Face Segmentation of Long-Tail Classes》论文分享(侵删)
  • ⭐算法OJ⭐矩阵的相关操作【动态规划 + 组合数学】(C++ 实现)Unique Paths 系列
  • 【Groovy】流程控制
  • 初阶数据结构习题【3】(1时间和空间复杂度)——203移除链表元素
  • C++核心指导原则: 源文件
  • 渲染 101:Maya 项目的高效渲染利器
  • 2025年Linux主力系统选择指南:基于最新生态的深度解析(附2025年发行版对比速查表)
  • LeetCode热题100JS(17/100)第三天|76.最小覆盖子串
  • Sqlserver安全篇之_TLS的证书概念
  • 【LeetCode】131.分割回文串
  • 青岛seo网站排名/百度推广营销
  • 陕西网站建设公司电话/网站推广工作
  • 优秀网站页面设计图片/seo方案
  • 网站页面做海报用什么软件/新站seo外包
  • wordpress bootstrap 主题/seo学习
  • 创意网站建设话术/怎么做推广赚钱