windows 平台wsl2 编译 chromium android 版本

windows 平台wsl2 编译 chromium android 版本


配置网络环境

因chromium代码仓库在:https://chromium.googlesource.com/chromium/src,因国内不能顺畅的访问,需在编译之前需要把网络环境配置好。

windows wsl2 安装请按照微软官方教程:https://learn.microsoft.com/en-us/windows/wsl/install

配置网络工具示例(自行查找相关网络工具)

点击首选项然后选择入站设置,主要配置如下图:
在这里插入图片描述

配置 windows 入站规则

为了防止不必要的麻烦,务必直接关掉电脑防火墙设置。 \color{#ff0000}{为了防止不必要的麻烦,务必直接关掉电脑防火墙设置。} 为了防止不必要的麻烦,务必直接关掉电脑防火墙设置。

  • 选择高级设置
    在这里插入图片描述
  • 第二步 创建入站规则
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

配置 WSL

在WSL命令行窗口输入以下指令:

  1. 获取WSL宿主机IP
    cat /etc/resolv.conf|grep nameserver|awk '{print $2}'
  2. 设置环境变量(172.17.176.1 替换为上面的指令获取的IP)
	export http_proxy=172.17.176.1:8889
	export https_proxy=172.17.176.1:8889

至此网络已经准备完成,接下来开始编译源码。

编译Chromium源码

官方编译指南

建议存储空间剩余使用100GB以上。

1. 配置depot_tools

	git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

需要加速的可以使用我在 G i t e e 创建的国内源 \color{#ff0000}{需要加速的可以使用我在Gitee创建的国内源} 需要加速的可以使用我在Gitee创建的国内源

	https://gitee.com/Zy.Elite/depot_tools.git

2. 设置环境变量

假设depot_tools下载到/root/路径下则

	export PATH="$PATH:/root/depot_tools"

3. 获取Chromium源码

注意事项,请勿增加 --no-history 这个标签,增加此标签,在编译时期会有大量未知错误无法解决,亲测按照网上抄来抄去的教程无法解决,浪费了大量的时间(时间就是金钱,流量什么的都是浮云)

	mkdir ~/chromium && cd ~/chromium
	fetch --nohooks android

4. 同步编译环境依赖

	cd src
	echo "target_os = [ 'android' ]" >> ../.gclient
	gclient sync

5. 安装snapcraft

因wsl中自带的snap服务无法使用,在安装编译环境前,需要先自行安装snapcraft,wsl务必执行此选项,linux 可跳过

	service snapd stop
	apt purge snapd
	apt install snapd
	apt install daemonize
	daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
	exec sudo nsenter -t $(pidof systemd) -a su - $LOGNAME

验证snap服务是否正常使用

	snap version

执行指令显示以下内容,则snap服务安装成功。

当出现以下内容则为安装成功

6. 安装额外的构建依赖项

可能是因为网络原因字体下载失败,增加–no-chromeos-fonts跳过安装

	build/install-build-deps.sh --android --no-chromeos-fonts

7. 运行hooks

	gclient runhooks

8. 设置编译参数

	gn args out/Default

执行指令后会打开一个文本编辑界面,输入以下内容:

target_os = "android"
target_cpu = "arm64"  # armeabi-v7a 指定为 arm
v8_symbol_level=0
blink_symbol_level=0
enable_nacl = false
symbol_level = 0
#如果is_component_build为true则是动态库链接,否则为静态库链接
is_component_build = true
treat_warnings_as_errors = false
dcheck_always_on = false
is_java_debug = false
is_debug = false

#配置 devtools_skip_typecheck 跳过 TS 检查,构建更快
devtools_skip_typecheck=true

9. 编译chromium代码

	autoninja -C out/Default chrome_public_apk

10. 更新chromium内核

	git rebase-update
	gclient sync

生成 Android Studio项目工程

	build/android/gradle/generate_gradle.py --output-directory out/Default

执行完毕后生成out/Default/gradle目录,导入android studio 即可。

结语

网上有很多编译指南的教程,但大多数都是抄袭,当遇到某些问题时几乎无解。所以希望此篇文章可以让你编译通过,有疑问随时联系我。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zy.Elite

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值