Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录)

一.前言

  • 测试的硬件环境(轻薄本):cpu:Amd r5 4600u,内存:16g,外接固态硬盘盒子。测试(下载和编译Android10)结果:下载时长为0.5-1h,编译时长接近5h;
  • 虚拟机环境:VMware Workstation Pro17,镜像为:Kali-2022.3-installer-amd64

二.安装Kali

  • 安装步骤尽可能的详细一些,按照下方图示进行操作即可,无需做改动。

2.1.Debian版本选择和虚拟化设置

  • 不确定是否一定要这么选,但是最好跟kali的对应(2022.3对应Debian11.x)
    在这里插入图片描述

  • 虚拟化设置(R5 4600U是十二线程的,个人就选择了内核数量为12)
    在这里插入图片描述

2.2.虚拟机配置

在这里插入图片描述

2.3.安装界面

  • 界面1
    在这里插入图片描述

  • 界面2
    在这里插入图片描述

  • 界面3
    在这里插入图片描述

  • 界面4
    在这里插入图片描述

  • 界面5
    在这里插入图片描述

  • 界面6
    在这里插入图片描述

  • 界面7
    在这里插入图片描述

  • 界面8
    在这里插入图片描述

  • 界面9
    在这里插入图片描述

  • 界面10
    在这里插入图片描述

  • 界面11
    在这里插入图片描述

  • 界面12
    在这里插入图片描述

  • 界面13
    在这里插入图片描述

  • 界面14(默认即可)
    在这里插入图片描述

  • 界面15
    在这里插入图片描述

  • 界面16
    在这里插入图片描述

  • 界面17
    在这里插入图片描述

三.编译前的准备工作

3.1.配置root账户

  • 输入以下命令,按照提示继续下一步
sudo passwd root

在这里插入图片描述

  • 退出当前账号,使用root账户登录

3.2.切换shell为bash

  • 执行以下命令表示切换,切换后重启虚拟机
chsh -s /bin/bash

在这里插入图片描述

3.3.修改时区

dpkg-reconfigure tzdata

在这里插入图片描述

3.4.更换镜像源

  • 执行命令:vim /etc/apt/sources.list,注释默认镜像源,添加以下内容(存在疑惑的点:镜像到底只配置http还是https?本人两个都配置了。参考资料:https://mirrors.tuna.tsinghua.edu.cn/help/kali/)
deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib

3.5.(可选)共享文件夹挂载

//命令1
mkdir /mnt/hgfs
//命令2
vmhgfs-fuse .host:/ /mnt/hgfs  
//命令3
umount /mnt/hgfs
//命令4
vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000 -o gid=1000 -o umask=022
  • 开机自动挂载共享文件夹
//步骤一:使用命令
vim /etc/fstab
//步骤二:文件末尾添加以下内容
#开机自动挂载  下方share_dir替换成自定义的共享文件夹名
.host:/share_dir  /mnt/hgfs/share_dir  fuse.vmhgfs-fuse   allow_other   0   0

3.6.装中文字体(需要先修改镜像源)

apt install xfonts-intl-chinese
apt install ttf-wqy-microhei

3.7.切换Python版本配置

  • 首先查看默认安装的python版本有哪些,执行以下命令
cd /usr/bin

//查看默认安装的python版本(默认安装了python2.7和python3.10,直接配置以下命令即可)
ls -al python*

//配置1
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
//配置2
update-alternatives --install /usr/bin/python python /usr/bin/python3.10 3
//查看配置后的信息
update-alternatives --display python
//切换python版本(此时,一般是0,1,2)
update-alternatives --config python
//(可选)解除 update-alternatives 对某个版本的管理
update-alternatives --remove /usr/bin/python python /usr/bin/python2.7

3.8.安装编译前依赖

  • 在控制台执行以下命令(以下命令仅针对2022.3版本kali,其它版本不确定)
sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig libncurses5 m4

3.9.配置git

git config --global user.email "邮箱地址"
git config --global user.name "用户名"

3.10.(不确定是否一定需要,但最好安装一下)配置JDK

  • 尝试在ubuntu20上没有安装,成功编译过Android10和12。
//eg:在下载目录下执行以下命令
wget https://builds.openlogic.com/downloadJDK/openlogic-openjdk/8u262-b10/openlogic-openjdk-8u262-b10-linux-x64.tar.gz
//解压
tar -xvf openlogic-openjdk-8u262-b10-linux-x64.tar.gz
//将解压后的文件复制到 /usr/local/sbin/
cp openlogic-openjdk-8u262-b10-linux-64 /usr/local/sbin/ -r

//添加配置信息
export JAVA_HOME=/usr/local/sbin/openlogic-openjdk-8u262-b10-linux-64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

3.11.配置交换空间

  • 给虚拟机提供的内存是12.5g,配置一下交换空间。在控制台直接cv即可,不用考虑位置(第一步要是出现报错就直接从第三步开始)。
#停用交换文件
swapoff /swapfile
#删除文件
rm /swapfile
#新建swap空间,个人设置的是20G
fallocate -l 20G /swapfile
#设置文件权限 
chmod 600 /swapfile
#挂载
mkswap /swapfile
#激活启用
swapon /swapfile
#安装vim(可选)
apt-get install vim
#接下来,需要将交换信息写入系统配置
#打开配置文件
vim /etc/fstab
#在最末尾处插入(输入i进行插入,ctrl + shift + v是粘贴,如果不能实现粘贴,自行搜索处理一下,esc退出编辑,输入wq进行保存)
/swapfile  swap  swap  defaults  0  0
#更改交换空间大小
vim /etc/sysctl.conf
#在最末尾处插入
vm.min_free_kbytes=1500000

在这里插入图片描述

四.下载环节

  • 在准备工作做好之后,重启一下再执行下载和编译相关的工作;
mkdir ~/bin
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo
chmod +x ~/bin/repo
  • 在~/.bashrc中配置以下信息(别忘记同步:source ~/.bashrc)
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
PATH=~/bin:$PATH
  • 初始化仓库,-b 指示分支,这里使用android10
mkdir ~/android-10.0.0_r41
cd ~/android-10.0.0_r41

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-10.0.0_r41

五.编译环境

  • 编译Android10请用Python2,前面选择了Python3,最后出现了报错。
source build/envsetup.sh
lunch aosp_x86_64-eng
//r5 4600u是十二线程的,这里就选择了j6
make -j6
  • 出现报错(切换成Python2继续编译,重新执行上面三行代码)
    在这里插入图片描述

  • 编译成功,启动模拟器
    在这里插入图片描述

六.总结

  • 建议使用文章开头提及的Kali镜像(版本选择很重要)。尝试用过“Kali-linux-2022.3-vmware-amd64.7z”和“Kali-linux-2023.3-vmware-amd64.7z”,前者出现了不能启动模拟器,说是虚拟化被占用。后者出现过依赖方面的问题。
  • Ubuntu环境编译aosp请参考:Ubuntu20编译Android12(车载环境搭建)

七.参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值