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

Chromium for Android 浏览器的编译和安装

Chromium for Android 浏览器的编译和安装

  • Chromium for Android 浏览器的编译和安装
    • 环境要求和配置
    • Chromium for Android源码下载
      • 安装 depot_tools
      • 获取代码
      • 转换现有的Linux检出
      • 安装额外的构建依赖
      • 运行钩子
    • Chromium for Android源码编译
      • 设置编译环境
    • 编译 Chromium
    • Chromium for Android安装到设备

Chromium for Android 浏览器的编译和安装

这篇文章介绍Android版本Chromium浏览器的源码下载、编译、安装的过程。

环境要求和配置

要在Linux上构建Chromium项目的Android客户端,系统需要满足以下要求:

  1. 硬件要求:
  • 处理器:x86-64架构的机器。
  • 内存:至少8GB的RAM(推荐超过16GB以获得更好的性能)。
  • 存储:至少100GB的可用磁盘空间。
  1. 软件要求:
    操作系统:大多数开发工作在Ubuntu上进行。其他Linux发行版可能也可以使用,但需要参考Linux安装说明以确保兼容性。
    工具:
  • Git:用于版本控制和代码管理。
  • Python:用于构建脚本和其他开发工具。
  1. 注意事项:
    在Windows或Mac上构建Android客户端是不支持的,并且无法正常工作。建议在Linux环境中进行开发和构建。

这些要求确保你的开发环境足够强大,可以处理Chromium项目的构建过程,特别是在处理Android客户端时。确保系统满足这些要求将有助于避免构建过程中的常见问题,并提高开发效率。

Chromium for Android源码下载

以下代码下载需要连接外网才能下载

安装 depot_tools

  1. 下载depot_tools 仓库:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  1. 将 depot_tools 添加到PATH:

假设你将 depot_tools 克隆到了 /path/to/depot_tools,可以通过以下命令将其添加到PATH(建议将这行代码添加到 ~/.bashrc 或 ~/.zshrc 中):

export PATH="$PATH:/path/to/depot_tools"

获取代码

  1. 创建并进入 Chromium 目录:
mkdir ~/chromium && cd ~/chromium
  1. 获取 Android 代码:
    使用 fetch 命令获取代码:
fetch --nohooks android

如果不需要完整的仓库历史记录,可以使用 --no-history 标志来节省时间。
注意:即使在快速的网络连接下,该命令也可能需要30分钟,在较慢的连接下可能需要数小时。

  1. 进入 src 目录:
    获取完成后,会在工作目录中创建一个隐藏的 .gclient 文件和一个名为 src 的目录。接下来的操作假定你已经切换到 src 目录:
cd src

转换现有的Linux检出

如果你已有一个Linux的检出,可以通过在 .gclient 文件中添加 target_os = [‘linux’, ‘android’] 来添加Android支持:

echo "target_os = [ 'linux', 'android' ]" >> ../.gclient

安装额外的构建依赖

检出代码后,运行以下命令以获取所有构建Linux和Android所需的依赖项:

build/install-build-deps.sh

运行钩子

在至少运行一次 install-build-deps 之后,可以运行Chromium特定的钩子,这将下载额外的二进制文件和其他可能需要的东西:

gclient runhooks

通过以上步骤,你应该能够成功设置Chromium项目的开发环境,特别是针对Android客户端的构建。确保每一步都正确执行,以避免后续构建过程中的问题。

Chromium for Android源码编译

设置编译环境

Chromium 使用 Ninja 作为其主要构建工具,并使用一个名为 GN 的工具来生成 .ninja 文件。你可以创建任意数量的构建目录,并使用不同的配置。要创建一个用于构建 Android 版 Chrome 的构建目录,请运行 gn args out/Default 并编辑文件以包含以下参数:

 target_os = "android"is_debug = falsetarget_cpu = "arm64"  # See "Figuring out target_cpu" below#use_remoteexec = true  # Enables distributed builds. See "Faster Builds".symbol_level = 0enable_android_apk_bundles = trueis_official_build = trueandroid_channel = "stable"enable_r8 = truechrome_pgo_phase = 0proprietary_codecs = trueffmpeg_branding = "Chrome"enable_media_router = trueenable_cast_receivers = trueenable_widevine = true

对于每个新的构建目录,你只需运行一次这些命令,Ninja 会根据需要更新构建文件。你可以将 Default 替换为其他名称,但它应是 out 的子目录。有关其他构建参数,包括发布设置,请参阅 GN 构建配置。默认情况下将是一个调试组件构建。有关 GN 的更多信息,请在命令行中运行 gn help 或阅读快速入门指南。

编译 Chromium

使用 Ninja 构建 Chromium,可以通过以下命令进行:

autoninja -C out/Default chrome_public_apk

你可以通过在命令行中运行 gn ls out/Default 来获取所有其他构建目标的列表。要编译其中一个目标,将 GN 标签传递给 Ninja 时不需要前面的“//”(例如,对于 //chrome/test:unit_tests,使用 autoninja -C out/Default chrome/test:unit_tests)。

Chromium for Android安装到设备

编译后生成apk路径:

out/Default/apks/ChromePublic.apk

可以直接通过adb install 安装

http://www.lryc.cn/news/505024.html

相关文章:

  • 实景视频与模型叠加融合?
  • Scala的隐式类
  • 常见软件设计模式介绍:三层架构、MVC、SSM、EDD、DDD
  • Springboot技术栈常见问题及搭建步骤
  • session 共享服务器
  • vue2:v-for实现的el-radio-group选中时显示角标,并自定义选中按钮的字体颜色和背景色
  • 【Linux】-学习笔记10
  • 鸿蒙NEXT开发案例:九宫格随机
  • 深度解析:RTC电路上的32.768KHz时钟的频偏及测试
  • Scala的泛型
  • OpenGL ES详解——glUniform1i方法是否能用于设置纹理单元
  • 探索 Janus-1.3B:一个统一的 Any-to-Any 多模态理解与生成模型
  • 论文信息搜集
  • 实操给自助触摸一体机接入大模型语音交互
  • 图表的放大和刷新功能
  • SQLServer利用QQ邮箱做SMTP服务器发邮件
  • flutter 多文本,其中文本下划线往下移动
  • 7.OPEN SQL
  • Python轻松获取抖音视频播放量
  • YOLOv8目标检测(三*)_最佳超参数训练
  • SpringBoot SPI
  • uniappp配置导航栏自定义按钮(解决首次加载图标失败问题)
  • 【Apache paimon】-- 集成 hive3.1.3 异常
  • 基于docker部署Nacos最新版本-国内稳定镜像
  • 云计算中的Hive操作详解
  • UE4_控件蓝图_制作3D生命血条
  • 11篇--图像边缘检测
  • 宝塔SSL证书申请失败,报错:申请SSL证书错误 module ‘OpenSSL.crypto‘ has no attribute ‘sign‘(已解决)
  • (已开源) 详解4D Radar数据集K-Radar
  • 基于RK3588机器人控制器+3D视觉传感器的送餐机器人解决方案