- 首先 AOSP 是不支持在 windows 系统下直接编译的,目前官方也不再支持 Mac OS ,所以只能搞个 Ubuntu 环境。
- 我首先尝试了 wsl ,安装 Microsoft Store 官方的 Ubuntu 。这条路实际上并没有走通,不过我还是分享一些关键点。
首先,要保证代码所在文件夹必须是大小写敏感的。使用管理员模式运行命令行,执行下面命令,开启文件夹的大小写敏感。
fsutil.exe file setCaseSensitiveInfo E:\xxx\aosp enable
这里要注意一点,建议先处理好文件夹再下载代码,因为这条命令只能操作一层文件夹,如果已经下载完的代码,再想改变所有文件夹的大小写敏感状态就需要写脚本去处理了,会很慢。
其次,Ubuntu 要切换到 wsl2 ,具体方法可以搜索。
然后按照官方文档的方法安装环境和同步代码,如果访问官方代码库速度不理想也可以用国内清华或者科大的镜像,具体操作在他们镜像站都有。
访问 windows 文件夹的话,盘符在 /mnt 文件夹下。
我因为代码下载到了 windows 路径中,导致无法启动编译。会一直报系统不支持的错误:
Failed to listen for path logs: listen unix
out/.path_interposer_log: bind: operation not supported
已经提 issue
https://github.com/microsoft/WSL/issues/7283
现在切回到主线,我后来尝试了使用 docker 。可以成功的启动编译了,但是访问 windows 路径会及其慢,一次编译用了10几个小时(配置:i7 + 32G 内存)。
- windows 下不论是 wsl 直接安装的 Ubuntu 还是用 docker,都不建议直接访问 windows 路径。
- 在 Ubuntu 下直接同步代码,按照官方文档进行编译,可以很顺利的完成。
- 不过如何从 docker 启动模拟器我目前还没找到好办法,可能会考虑电脑直接装双系统了。