修改aosp源码编译版本-使用docker(Ubuntu 20.04)编译Android源码AOSP

编译AOSP源码,常用Ubuntu 18.04和20.04。 这两个版本的系统都可以按照Google官方的操作流程进行编译。

个人认为20.04比18.04好用,主要是UI/UE的差异(AOSP编译没有差异)。 20.04比较好用,而18.04的一些操作比较别扭。

另外,如果你想开发Linux C/C++程序,新版本的系统将支持更新的编译器和相应的语言版本。 老版本的系统原则上可以独立更新编译器和相关依赖库,但操作比较麻烦,也不一定可以。 是否能够成功。

如果你想尝试Ubuntu 22.04或更新版本,可以使用docker环境安装Ubuntu 20.04并编译AOSP。

本文讲解的使用场景:

1)物理机(Host OS)上安装22.04版本,用于源码管理(git/repo)、代码编辑、开发板调试和验证。

修改aosp源码编译版本-使用docker(Ubuntu 20.04)编译Android源码AOSP

2)Docker安装20.04版本系统(Container OS)进行编译。

主要步骤:

1)安装docker镜像并搭建AOSP编译环境。

2)将docker中的用户和文件路径与外部系统关联起来,避免权限问题,方便开发。

修改aosp源码编译版本-使用docker(Ubuntu 20.04)编译Android源码AOSP

(1)启动docker镜像时修改aosp源码编译版本,通过参数-v将AOSP源码目录挂载到Container中。

(2)在容器内创建与外部宿主OS相同的用户(相同的uid、gid),这样在容器内外更改文件时不会出现权限不一致的问题。

安装docker软件

$ sudo apt install docker.io

拉取 Ubuntu 20.04 镜像

$ docker pull ubuntu:20.04

在主机操作系统中进行以下配置。

将当前用户添加到docker组并更新当前执行命令的shell的组id。

修改aosp源码编译版本-使用docker(Ubuntu 20.04)编译Android源码AOSP

这样,就不需要以 root 权限运行 docker 命令了。

在我使用的系统中,前两个命令不需要执行。 它们在安装 docker.io 后就已经设置好了。

$ sudo chown root:docker /var/run/docker.sock 
$ sudo groupadd docker      
$ sudo gpasswd -a $USER docker  
$ newgrp docker    

查看主机操作系统中的当前用户 ID (Ubuntu 22.04):

$ id
uid=1000(dev) gid=1000(dev) groups=1000(dev),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),122(lpadmin),135(lxd),136(sambashare)

用户: 开发者

uid: 1000

组号:1000

启动docker容器并创建对应的用户:

#启动docker
$ docker run -it  -v ~/aosp_src:/aosp_src ubuntu:20.04
#创建新的用户组和用户
$ groupadd -g 1000 dev 
$ useradd -m -g 1000 -u 1000 dev -s /bin/bash
#切换为新创建的用户
$ su dev 

至此,docker容器中需要做的特殊配置就完成了。 如果您已经按照前面的步骤安装并配置了AOSP编译环境(请参阅:从头开始构建Android源码编译环境)修改aosp源码编译版本,您可以source环境变量,lunch选择编译目标,并make -jxx来编译AOSP源代码。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 修改aosp源码编译版本-使用docker(Ubuntu 20.04)编译Android源码AOSP https://www.wkzy.net/game/197769.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务