You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu虚拟机中从源码构建Android镜像与模拟器?

基于Ubuntu 22.04构建Android镜像与模拟器分步指南

一、系统环境准备

  • 升级系统并安装基础构建依赖
    sudo apt update && sudo apt upgrade -y
    sudo apt install -y 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版本冲突(强制使用Python3,适配新版Android构建要求)
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 100
    # 验证版本,确保输出为Python3.x
    python --version
    
  • 安装适配的OpenJDK(Android 12及以上分支推荐OpenJDK 11)
    sudo apt install -y openjdk-11-jdk
    # 配置环境变量
    echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" >> ~/.bashrc
    echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> ~/.bashrc
    source ~/.bashrc
    

二、配置Repo工具并同步源码

  • 安装Repo工具
    mkdir -p ~/bin
    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    chmod a+x ~/bin/repo
    echo "export PATH=\$HOME/bin:\$PATH" >> ~/.bashrc
    source ~/.bashrc
    
  • 初始化Repo(选择2023年稳定的Android 13分支,确保包含external/qemu代码)
    mkdir android-build && cd android-build
    repo init -u https://android.googlesource.com/platform/manifest -b android-13.0.0_r33
    
  • 同步完整源码(自动拉取external/qemu,中断后重复执行即可)
    repo sync -j$(nproc)
    

三、构建前问题修复

  • 解决32位类库缺失(Ubuntu 22.04默认禁用32位架构,手动开启)
    sudo dpkg --add-architecture i386
    sudo apt update
    sudo apt install -y libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1
    
  • 禁用Jack Server(Android 10及以后分支已弃用Jack,改用JDK原生编译)
    echo "USE_JACK=false" >> ~/.bashrc
    source ~/.bashrc
    

四、执行构建

  • 初始化构建环境
    source build/envsetup.sh
    
  • 选择模拟器目标设备(64位x86架构适配VirtualBox虚拟机)
    lunch aosp_x86_64-eng
    
  • 启动多线程构建
    make -j$(nproc)
    
  • 单独构建模拟器组件(如需更新模拟器而非完整镜像)
    cd external/qemu
    ./android/scripts/unix/build-all.sh --verbose
    # 构建产物位于out/host/linux-x86/bin/目录
    

五、运行模拟器

  • 启动模拟器(跳过快照加载确保使用新构建的镜像)
    emulator -avd aosp_x86_64 -no-snapshot-load
    

内容的提问来源于stack exchange,提问作者Gorilla Sapiens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 14:25:22