Android 搞机之编译 Android13 并在模拟器上运行

编译环境

  • VMware虚拟机 + Kali 2022.3
  • 32GB内存
  • 400GB硬盘

下载Android13源码

  1. 安装repo工具

    1
    apt install repo
  2. 创建文件夹,存放aosp源码

    1
    2
    mkdir aosp
    cd aosp
  3. 配置git信息

    1
    2
    git config —global [user.name](http://user.name) <your_name>
    git config —global [user.email](http://user.email) <[email protected]>
  4. 初始化repo aosp仓库

    1
    2
    3
    repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-13.0.0_r31
    # -u 指定aosp manifest地址,可以使用谷歌官方或者其它镜像站点地址
    # -b 用来指定某个特定的Android版本
  5. 同步源码树

    1
    repo sync

编译源码

  1. 设置环境变量

    1
    source build/envsetup.sh
  2. 选择编译目标

    1
    2
    3
    lunch sdk_phone_x86_64-userdebug
    # 这里我编译一个运行在模拟器上的x86_64位版本
    # 可以只输入lunch,此时会有列表提示,让你选择你的编译目标
  3. 编译

    1
    2
    3
    m -j8
    # -j用来指定编译线程数,由于我是4核8线程的CPU,所以我指定-j8
    # 可以只输入m, 此时会自动根据你的CPU核心数进行设置
  4. 漫长等待,编译产物在 out/target/product 目录下

在模拟器上运行

  1. 执行emulator命令即可

  2. 如果失败,则执行

    1
    2
    3
    source build/envsetup.sh
    lunch sdk_phone_x86_64-userdebug
    emulator