0. Background
近来失业,随便搞点东西玩玩。
谷歌在官方文档中表示编译要求是:
- A 64-bit Intel machine running Linux with at least 8GB of RAM. More than 16GB is highly recommended.
- At least 100GB of free disk space.
- You must have Git and Python installed already.
但实在是不想装系统,于是就想到了通过wsl2来尝试一下能否编译。 (mac和m1目测不支持,有人成功的话可以告诉我一声)
1. wsl2 安装
可能有人会问wsl不带2能不能用,我只能说没试过,不一定不行。
没什么好说的,网上教程一堆,这里注意ubuntu不能选择22.04,目前编译链还不支持,我用22.04做好环境之后又重新下了20.04 Orz
2. 不可描述的设置
由于众所周知的原因,我们可能无法正常访问地址,需要对wsl2环境下的网络做一些设置:
打开我的电脑,地址栏输入\\wsl$\Ubuntu-20.04\home\ubuntu的用户名,进入后输入
export ALL_PROXY=http://电脑ip:电脑端口
export HTTP_PROXY=http://电脑ip:电脑端口
export HTTPS_PROXY=http://电脑ip:电脑端口
重启命令行
3. 编
3.1 依赖
直接用这个命令检查并安装git和python依赖
sudo apt install git python3
3.2 按图索骥
按照官方文档编就行了
- 拉代码的时候用这个会快一点
fetch --nohooks --no-history android
gn args out/Default这个命令会打开powershell的编辑器,很难用;可以试试gn gen out/Default然后打开对应文件自行添加参数。- 执行
build/install-build-deps-android.sh时,Snapcraft 我这里没连上,但不太清楚是网络问题还是wsl2的问题,如果有人也遇到了可以探讨一下解决办法(反正最后能跑了,懒得总结原因)。 - 如果中间cpu占用率很低的话可以强制关掉(ctrl+z)重新执行一遍autoninja
- 总共用了近5h
- 成品300多mb
以上。