博客

  • AAOS 12 编译踩坑记录

    领导让研究一下AOSP,相关车机系统,所以有了下面这篇文章

    水平比较菜,如果文章哪里有错误的地方,还希望大佬们批评指正!

    接下来开始正题

    一、选择安卓12版本的原因

    选择安卓12的版本的原因如下:除华为系(鸿蒙)、小米等造车新势力外,其他车机系统版本并没有那么新,构建AAOS系统可以尝试fuzz相关协议栈的漏洞,这个坑慢慢填

    首先,编译的环境为:

    Vmware虚拟机,Ubuntu 22.04 + CPU 16核32线程 + 内存64G(需要大一些防止编译错误)

    二、教程开始

    更新换源操作就不说了,需要安装一些包

    sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig openjdk-17-jdk

    安装repo

    mkdir ~/bin
    modify bashrc(zshrc): export PATH=~/bin:$PATH
    source ~/.bashrc
    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    chmod a+x ~/bin/repo

    由于在国内,一些网络环境的原因,我们在配置的时候,需要加一些镜像地址

    repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.1.0_r26 --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo

    然后我们进行同步

    repo sync -j2

    如果中途因为网络原因失败,多尝试几次,等待代码完全拉取后,进行编译

    source build/envsetup.sh
    lunch
    里面选择 sdk_car_x86_64-userdebug
    make -j30

    编译如果没有报错,完成后,可以看到对应目录下存在各种img文件

    遇到了emulator无法找到,重新执行

    source build/envsetup.sh
    lunch sdk_car_x86_64-userdebug
    emulator
  • bigu bigu

    今晚吃什么!