在Android堡垒机(Ubuntu)服务器上编译android AOSP源码。
1. 添加用户
1、切换到root用户: sudo su -
2、添加账户:useradd -m username
删除用户:userdel -r username
使用useradd创建的账户需要修改密码
修改用户密码:passwd username
创建账户完成后,切换到个人目录下
切换用户:su username
2. 配置Samba
Samba是讲Linux系统上的文件映射到Windows上的一个软件,是非常好用的软件。
1、安装samba软件
2、添加samba用户并设置密码:smbpasswd -a user
3、查看samba配置,目录在/etc/samba/smb.conf
4、修改配置文件添加共享目录,通过vim命令
[share] <==共享资源名称comment = share for rom <==简单的解释,内容无关紧要path = /data/rom/username <==实际的共享目录writable = yes <==设置为可写入browseable = yes <==可以被所有用户浏览到资源名称,guest ok = yes <==可以让用户随意登录
5、重启samba服务:/etc/init.d/smb restart
6、 在windows电脑上添加一个网络共享,将堡垒机共享的目录映射到本地
我的电脑
-> 右键 -> 添加一个网络位置
-> 下一步
到指定网站的位置
-> 输入堡垒机的ip,选择共享的目录再添加
-> 输入账户密码,即可添加成功
3. 配置git
1、配置 username和email
git config --global user.name "xxx"
git config --global user.email "xxx@gmail.com"
2、在gitlab或者github配置ssh
2.1:创建ssh,使用git bash
ssh-keygen -o -a 100 -t ed25519
生成的文件在用户根目录下.ssh
下
查看生成的公钥
cat ~/.ssh/id_ed25519.pub
复制输出的内容到gitllab或者github的个人设置里面的ssh keys
配置中,add an ssh key
4. 初始化Repo客户端
AOSP源码是通过repo管理的,需要配置好repo启动器
- 安装repo
sudo apt-get updatesudo apt-get install repo
- 创建目录
mkdir aosp-12
cd aosp-12
- 初始化repo,指定manifest地址
# -b master 表示master分支
repo init -u https://android.googlesource.com/platform/manifest -b master
- 同步代码
# -c 当前分支
# -j32 线程数量,可加快速度
repo sync -c -j32
之后耐心等待代码同步完成
5. 构建Android
Android构建使用soong构建
- 设置构建环境
使用 envsetup.sh 脚本初始化环境
cd aosp-12/android
source build/envsetup.sh
- 选择构建的目标
使用lunch命令
lunch aosp_arm-eng
目标格式:"productname"-"buildtype"
,就是产品名字-build类型
build类型如下:
构建类型 | 使用场景 |
---|---|
user | 适用于生产环境,权限受限 |
userdebug | 与“user”类似,但具有 root 权限和调试功能;是进行调试时的首选编译类型 |
eng | 具有额外调试工具的开发配置 |
- 开始构建
使用make、m命令,可以整编,也可以单编译一个模块
# 整体编译
make -j32
# 单编译一个模块,接 模块名,模块名定义在每一个项目的android.bp文件中
make SystemUI -j32