最近把Ubuntu升级到 24.04,编译AOSP遇到一些问题,这里做一下记录。
遇到的警告是标题名“Build sandboxing disabled due to nsjail error”
这个警告我遇到两种情况:
- 在 Ubuntu 24.04 编译
根据链接 https://groups.google.com/g/android-building/c/DbDKuaIik3M 所说,ubuntu24.04上的一些修改,会导致编译时遇到这个错误。 临时解法是执行这个命令sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
如果想持久化生效的话,可以编辑文件/usr/lib/sysctl.d/10-apparmor.conf
,将上面的key value添加进去,使用sysctl -p /usr/lib/sysctl.d/10-apparmor.conf
或者重启生效。 - 使用 Docker 编译
在Docker里面编译可能会遇到这个错误,解决办法是创建容器时,添加一个--privileged
参数。