chromium for android 源码编译

2023-05-16

官方文档

https://chromium.googlesource.com/chromium/src/+/master/docs/android_build_instructions.md

准备

Ubuntu (其他linux也可以,但是官方推荐ubuntu,Windows和mac是不行的)
梯子

下载depot_tools

depot_tools是Google提供的为chromium进行代码管理的一套工具,包括gclient,gn,gyp等一系列脚本工具等,在以后和源码打交道时会一直使用到它。

首先是下载。
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

下载后配置环境变量,在.bashrc或者.bash_profile或.zshrc等。
export PATH = [your_depot_tools dir]/bin:$PATH

下载chromium源码

首先是创建一个目录存放源码,然后进入这个源码。
mkdir chromium && cd chromium
fetch --nohooks android
如果您不想要完整的回购历史记录,可以通过将–no-history标志添加到来节省大量时间fetch。
fetch --no-history android

这一过程可能需要较长时间.如果中途出了什么问题,一定要进行以下步骤:
gclient sync
如果到这步没有问题,那么恭喜你,源代码下载成功了。

./build/install-build-deps.sh
以及安装第三方库(src目录下)

./build/install-build-deps-android.sh
如果还不行,请检查网络代理后再sync。~

中途可能会出现某个py文件执行错误或者exit ,请不要担心,重新确认可以翻墙后再sync一次。

编译源代码

官方文档解释,已经放弃GYP了,现在推荐使用GN进行配置和build。

gn args out/Default
这里的out/Default目录就是以后编译的apk的输出的一层,apk会存放在apks中。

接着稳妥起见,可以再来一次sync.

gclient sync
接下来准备编译环境:
. build/android/envsetup.sh
官方对编译提供了3种编译方案,分别是完整的浏览器,content shell(提供了浏览器基本功能的一个壳),webview。

编译完整浏览器:
ninja -C out/Default chrome_public_apk
可以在out/Default/apks中看到相应的apk.
编译contentshell:

ninja -C out/Release content_shell_apk
编译webview:

ninja -C out/Release android_webview_apk
这几步都可以得到对应的apk。

可以将手机连接到电脑,然后可以push过去安装,或者直接install,当然也可以用官方文档提供的方法直接使用depot_tool进行安装。

好了,到这里就完成了chromium的编译,可以修改代码进行提交了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

chromium for android 源码编译 的相关文章

随机推荐

  • 批量修改txt文件名,删除相同部分

    转载 xff1a https www cnblogs com cyh2009 p 10593776 html 1 在包括需要修改的txt文件夹中新建txt文件 xff0c 输入 xff1a 64 echo off span class to
  • 8086汇编指令笔记

    8086 8088汇编指令总结 一 数据传送指令 1 传送指令 xff1a MOV move 格式 xff1a mov dst src 具体用法 xff1a 1 CPU内部寄存器之间的数据传送 xff0c 如 xff1a mov ah al
  • CentOS(linux)循环登录(闪退)的一种可能的解决方法

    前言 最近开机之后通过远程ssh刷init 5进系统时发现 xff0c 我经常使用的账号输入账号密码后屏幕闪一下又回到登录界面 xff0c 也就是所谓的循环登录 xff0c 其他的账号登录都是正常的 xff0c 烦了我有一段时间了 xff0
  • 百度ECharts地图 地名位置坐标微调

    百度ECharts地图 地名位置坐标微调 百度Echarts出现地市名字不居中或者重叠 下载的地图json数据里坐标位置导致出现这种问题 下载的地图json数据里坐标位置导致出现这种问题 xff0c 修改json数据中的cp 属性存储的是经
  • Java中抽象类 abstract和interface的区别

    abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制 xff0c 正是由于这两种机制的存在 xff0c 才赋予了Java强大的面向对象能力 abstract class和interface之间在对
  • Java Vue uni-app 三端实现,滑动拼图验证码

    一步一步实现 图片滑动验证码 项目中要使用 图片滑动验证码 xff0c 顾了解之 需要以下几步来完成 xff1a 1 后端随机计算抠图的距离 xff0c 生成背景与拼图块的图片 xff0c 缓存 拼图块需 滑动的距离像素 2 前端加载背景图
  • DES与3DES 加解密实例(c++)

    DES与3DES 加解密实例 xff08 c 43 43 xff09 DES原理 xff1a DES算法是一种对称密码算法 xff0c 也是一种分组加密的算法 xff0c 以64位分组对数 据加密的 xff0c 其密钥长度为64位 xff0
  • java打印杨辉三角形

    前言 xff0c 打印杨辉三角形对于初级的程序员来说并不难 xff0c 主要掌握几个核心的知识点就行了 xff0c 其运用到二维数组 for循环 if条件语句等 杨辉三角形的特性如下 xff1a 它的两条斜边都是由数字1组成的 xff0c
  • Windows server2019安装docker

    安装Docker Desktop Microsoft Windows Docker安装 一 安装Docker二 配置Docker1 Docker停止所有容器 清理缓存 xff1a 2 拉取镜像 EMQX 为例 xff1a 1 获取EMQX镜
  • threeJs 封装DRACOLoader加载

    项目使用到3D模型加载渲染 xff0c 故初学习了解之 xff0c 简单封装 代码如下 span class token keyword import span span class token operator span span cla
  • UReport2 多报表文件打印,ZIP下载实现

    项目中报表较多 xff0c 客户要求多报表 zip下载或打印 xff0c 查看ureport内部代码实现 xff0c 代码相对简单 xff0c 直接上代码 实现了多文件混合zip下载 xff0c 基于浏览器的打印和Lodop打印插件两种方式
  • github 高星点赞 高校计算机系课程共享

    xff08 引用自 QSCTech zju icicles xff09 来到一所大学 xff0c 从第一次接触许多课 xff0c 直到一门一门完成 xff0c 这个过程中我们时常收集起许多资料和情报 有些是需要在网上搜索的电子书 xff0c
  • NetBeans10运行JAVA EE项目,添加servers运行web项目

    NetBeans10运行JAVA EE项目 xff0c 添加servers运行web项目 船新版本 xff0c 赶快下载体验吧 新年已经过去了 xff0c NetBeans有了两个版本的更新 xff0c 和8 2有了很大的变化 xff0c
  • 百度ECharts地图GeoJson数据在线下载 2021

    百度ECharts地图GeoJson数据在线下载 项目中使用到了百度的图表插件ECharts xff0c 不得不说是真的好用 xff0c 但是用到地图部分时 xff0c 竟然没有地图的json数据包 xff0c 网上 GitHub搜索 xf
  • 插入语句(insert)与更新(update)语句

    插入语句 insert 一般的插入语句这样写 insert into 表名 39 字段名 39 values 39 值 39 其中字段与值的数量要保持一致 否则报错 但是我们也会遇到待插入数据库中的值不是确定的 而是将查询某个表获取的值插入
  • mpv播放器键盘快捷键

    作为个人认为最好用的播放器之一的MPV播放器 xff0c 其开源 xff0c 体积小 xff0c 支持的格式多样等等非常优秀的功能 但其中也有部分麻烦的地方 xff0c 因为功能太过强大 xff0c 导致不知道某些功能的快捷键是什么 xff
  • Navicat Linux无限试用

    安装 本人用的Arch xff0c 一句话 xff08 邪教大法 xff09 yaourt navicat121 premium 找过好几个注册码发现都不能用 xff0c 注册码生成器都是Windows平台的 xff0c Linux下没办法
  • Android AIDL进程间通信的简单使用

    Android AIDL进程间通信的简单使用 https github com xueqiya AIDL git
  • 算法分析:求最近点对问题(c++)

    算法分析 求最近点对问题 c 1 准备部分 对于最近点问题 需要将问题代码化 所以要先创建一个点类 来使得计算使用时候更加方面 class Points span class token comment 点类 span span class
  • chromium for android 源码编译

    官方文档 https chromium googlesource com chromium src 43 master docs android build instructions md 准备 Ubuntu xff08 其他linux也可