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

这篇具有很好参考价值的文章主要介绍了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)
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 虚拟化设置(R5 4600U是十二线程的,个人就选择了内核数量为12)
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

2.2.虚拟机配置

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

2.3.安装界面

  • 界面1
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面2
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面3
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面4
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面5
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面6
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面7
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面8
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面9
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面10
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面11
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面12
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面13
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面14(默认即可)
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面15
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面16
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 界面17
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

三.编译前的准备工作

3.1.配置root账户

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

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

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

3.2.切换shell为bash

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

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

3.3.修改时区

dpkg-reconfigure tzdata

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

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

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

四.下载环节

  • 在准备工作做好之后,重启一下再执行下载和编译相关的工作;
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继续编译,重新执行上面三行代码)
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向

  • 编译成功,启动模拟器
    Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录),逆向文章来源地址https://www.toymoban.com/news/detail-708054.html

六.总结

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

七.参考资料

  • 解决了Kali2022.3找不到lib32ncurses5-dev安装依赖包的问题,借助https://pkgs.org/download/lib32ncurses5-dev找到Debian11对应的lib32ncurses5-dev是lib32ncurses-dev。
  • https://mirrors.tuna.tsinghua.edu.cn/help/git-repo/
  • https://mirrors.tuna.tsinghua.edu.cn/help/kali/

到了这里,关于Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 构建docker编译AOSP

    参考:github 在根目录下执行: --build-arg 指定编译参数:用户名为 test ,密码是 1234 ,可自定义 imagename是镜像名,V1是TAG,可自定义 或者使用默认用户名 zhangsan ,密码 123456 ; 运行结束后,可以查看是否生成docker镜像: -it 指示以交互式终端进入容器 my_docker是容器的名称,可

    2024年02月08日
    浏览(29)
  • AOSP编译

    重新安装Ubuntu 22.04的系统,参考如下的教程,编译AOSP: ubuntu 20.04 aosp 13/android s/android T/android12/android13 build aosp源码/安卓S/安卓12/framework开发高级架构师课 遇到的问题: 1. The minimum required amount of free memory is around 16GB 参考: Ubuntu 16G内存在android系统 10/11/12/13编译 framework时候经

    2024年02月09日
    浏览(24)
  • AOSP编译问题

    lunch sdk_x86_64-eng 命令报错 解决: 修改对应文件:aosp/build/target/product/sdk_x86_64.mk,增加两行,重新编译 参考 解决:安装rsync 解决:编译前关闭dex2oat 解决:修改mke2fs的配置文件。 将下面部分 ext4 = { features = has_journal,extent,huge_file,flex_bg,metadata_csum,metadata_csum_seed,64bit,dir_nlink,ext

    2024年02月02日
    浏览(22)
  • AOSP 源码编译android 12

    目录 一、python安装      a. python2安装     b. python3安装 二、repo管理多个git    a.第一步,   新建一个空白文件夹保存repo引导文件,并包含你的路径    b.下载启动器  c.将git-repo中的repo文件复制到 1 创建的.bin目录中  d.修改权限 e. 执行版本检查 三、初始化工程   a.执行创建文

    2024年01月16日
    浏览(34)
  • 编译原生安卓aosp源码,实现硬改以及定位

    第一章 安卓aosp源码编译环境搭建 第二章 手机硬件参数介绍和校验算法 第三章 修改安卓aosp代码更改硬件参数 第四章 编译定制rom并刷机实现硬改(一) 第五章 编译定制rom并刷机实现硬改(二) 第六章 不root不magisk不xposed lsposed frida原生修改定位 第七章 安卓手机环境检测软件分享

    2024年02月03日
    浏览(52)
  • Android Framework | AOSP源码下载及编译指南(基于Android13)

    AOSP(Android Open Source Project)是Android操作系统的开源项目,通过下载和编译AOSP源码,您可以获得原始的Android系统,并进行定制和开发。本教程将向您介绍如何下载AOSP源码并进行编译的步骤。 如何只是浏览查看AOSP源码,则没必要下载源码,可以使用google提供的Code Search工具进

    2024年01月16日
    浏览(42)
  • 0.【AOSP+Pixel 5】Android13 开发环境搭建及源码下载、编译和刷机

    本人——入行Android没多久的萌新一枚。这个系列文章主要是我客制化Android系统的一些记录。以下是我的开发环境的信息: Android 版本:13 Android 设备:Pixel 5(欧版) 操作系统:Ubuntu 20.04.5 LTS(64位) 先更新一下软件源和软件 Ubuntu 20.04 LTS已经移除Python2,默认安装python3,但是

    2024年02月14日
    浏览(41)
  • Repo下载、编译AOSP源码:基于Ubuntu 21.04,android-12.1.0_r27

    最近准备更新专栏文章,AOSP源码自然也需要进行更新了,但这次不是为最新的android 13, 而是取android 12的最新tag version: android-12.1.0_r27,这应该是市面上的主流版本。 每次更新,自然也会遇到问题,所以就记录一下 另外,这次我们将直接配置本地服务器,而不是通过docker,让

    2023年04月26日
    浏览(30)
  • aosp11/12/13 framework源码开发IDE工具之idegen/aidegen/AIDEGen详细使用

    近期又粉丝朋友聊到了如果做aosp系统应用开发,有什么工具或者方式来导入代码可以正常跳转和代码提示等? 更多内容: https://blog.csdn.net/learnframework/article/details/130016893 针对这个问题其实我课程里面的[入门课就有有讲解android studio导入整套系统源码]的详细说明,这里就再次

    2023年04月14日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包