WSL编译AOSP必要的几个前置工作

前言

首先,关于AOSP的编译可以查看我的这篇文章:AOSP的编译及刷机

我之前都是在MacOS上构建的AOSP的,但是自2021年6月22日起,AOSP不再支持在WindowsMacOS上构建,但我又不想给我的电脑安装Ubuntu双系统,只得另寻他路,在Windows上使用WSL就是一个很好的选择。

其实之前我尝试过用WSL编译AOSP,但几次都失败了,这次过年回家潜心研究了几天,总算是成功了,我会将我之前失败的原因和这次成功的心得总结分享给大家,教大家如何避坑

关于NAS

我是将我的AOSP源码放在NAS上进行编译的,毕竟磁盘空间够大,而且共享起来也方便,但需要千万注意 不要使用SMB协议共享AOSP源码编译,这样做直接就会卡在源码sync完后的lunch那一步,可以使用iSCSI协议将NAS上的一部分磁盘空间映射成一个虚拟磁盘,这样在Windows上就可以将这块磁盘当成普通的硬盘使用,几乎完全没有区别

修改大小写敏感

在同步AOSP源码前一定要做的工作,不然你就等着把辛苦下载好的源码删了重新下吧

在同步AOSP源码之前,我们会首先创建一个新的目录用来保存它,我们新建完这个目录后,用管理员身份打开WindowsPowershell,执行以下命令:

fsutil.exe file setCaseSensitiveInfo <path> enable

其中的path就是刚新建用来同步AOSP源码的目录,需要注意的是,这个命令只对指定的目录有效,不会改变已存在的子目录的大小写敏感,所以千万要在同步代码之前做这件事

重新挂载磁盘

如果你的AOSP源码放在了Windows驱动器上,比如说 F:\aosp ,在WSL中的路径应该是 /mnt/f/aosp 这种形式的,此时需要以drvfs文件系统重新挂载盘符,否则编译到中途会报错:

sudo umount /mnt/f
sudo mount -t drvfs F: /mnt/f -o metadata

注意,每次WSL重启,在编译AOSP之前都需要执行这步操作,当然你也可以将它新建成WSL的一个开机服务,确保每次打开WSL都会执行这两段命令

尾声

可以发现,用WSL编译出错主要还是文件系统的问题,经过以上几步前置工作,相信你一定可以顺利的编译AOSP

猜你喜欢

转载自blog.csdn.net/qq_34231329/article/details/128899314