一.VMware配置Ubuntu
【ubuntu 20.04.6LTS】(该版本VMware兼容性好):releases.ubuntu.com/focal/
【Vmware pro17】www.alipan.com/s/jnPinK3c2… psw:xa75
1.1 激活VMware
安装好VMware之后,打开,提示输入许可证,这时候打开Keymaker目录下keymake.exe,生成激活码,输入到VMware即可。
1.2 新建虚拟机
省略号代表默认设置,直接点击下一步。
自定义(高级)-> ... -> 稍后安装操作系统 -> Linux、Ubuntu 64位 -> 填入虚拟机名称、安装位置 -> 处理器数量1、内核数量填入真机CPU线程数 -> 设置内存(不低于20G) -> 使用桥接网络 -> ... -> 最大磁盘大小(不低于500G) -> ... -> 自定义硬件 -> 处理器:勾选"虚拟化Intel VT-x/EPT或AMD-V/RVI" -> 新CD/DVD(SATA):使用ISO映像文件,选中ubuntu映像文件-> 完成
1.3 安装Ubuntu
先右上角图标分辨率修改为1080P以上,缩放改为200%,这才安装界面UI才能显示完全。双击虚拟机桌面Install Ubuntu图标启动,默认下一步,到了Updates and other software界面,Other Options取消勾选Download updates while installing Ubuntu,默认下一步,输入用户名、密码,等待安装完成,完成重启之后进入系统。
【坑1:安装完成重启后蓝屏】注意映像文件必须完整,否则安装失败会进入Memtest86+内存检测工具的启动界面
【坑2:无法联网】"Connection failed. Activation of network connection failed."虚拟系统一直弹出该提示,在浏览器无法访问互联网,真实系统网络正常。需要在VMware-编辑-虚拟网络编辑器,删掉多余适配器,保留一个桥接,然后选择当前能上网的网卡,重启虚拟系统直到浏览器能正常访问国内网络。如果各种设置依然无效,考虑重新配置虚拟系统。
【坑3:BIOS一直重复进入安装镜像】开机瞬间按F2键,检查BIOS启动顺序,确保启动顺序是:
1. Hard Drive (硬盘)
2. CD/DVD Drive (光驱)
,进入虚拟机设置,CD/DVD(SATA)取消勾选 “已连接” 和 “启动时连接”
1.4 安装VMware tools
为方便剪贴板共享、传输文件方便,需要给虚拟系统安装该工具。如果在VMware菜单项-虚拟机-安装的话,只会生成DVD驱动在虚拟系统里面,还需要手动安装驱动里面的文件,极容易失败(甚至导致整个系统崩溃无法连接网络,从而需要重新安装,别问我是怎么知道的),这里我们选择Linux官方建议,推荐用open-vm-tools而不是手动安装:
sudo apt update
sudo apt install open-vm-tools open-vm-tools-desktop -y
二.搭建Framework环境
Android 系统开发(AOSP编译)的环境准备命令,用于安装编译 Android 源码所需的所有依赖包:
sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig python
各软件包详细解释:
按照功能划分:
2.1 AOSP源码下载
2.1.1 repo下载及配置
repo是google编写的python脚本,方便管理多个git库。按顺序执行以下操作,避免踩坑。
# 创建在/home/lesile创建bin目录,用于存放repo
mkdir bin
# 这里使用清华镜像,避免网络问题,同时将repo安装到~/bin文件夹下
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo
# 赋予可执行权限
chmod +x ~/bin/repo
# 安装vim
sudo apt install vim
# 修改repo官方源地址,避免网络问题
vim .bashrc
# i切换vim为插入模式,文件末尾插入,输入完毕按esc回到普通模式,再输入:wq,按enter退出
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
PATH=~/bin:$PATH
# 更新source
source .bashrc
2.1.2 AOSP初始化、源码下载
# 输入git邮箱和用户名
git config --global user.email "1825609597@qq.com"
git config --global user.name "JokeCheung"
# 创建aosp目录并定位到该目录
mkdir aosp
cd aosp
# 1.初始化操作: -u代表下载地址 -b代表版本,会弹出是否彩色显示,Y确定
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-10.0.0_r41
# 2.同步代码:这一步开始真正下载源码,等待时间比较久,需要1-2小时
repo sync
下载完毕,验证aosp目录,有如下目录结构则同步完毕:
2.2 编译AOSP
一些前置工作需要完成:
# 引入脚本命令
source build/envsetup.sh
# 发起编译版本选择,会打印一系列product列表让你选择
lunch
# 选择26 product: aosp_x86_64-eng
26
# 开始编译 默认根据cpu线程数选择用m即可,手动指定线程数命令:make -j16
m