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

Linux环境下构建AOSP时如何生成adb.exe等Windows二进制文件

在Linux下构建AOSP时生成Windows二进制文件的方法

问题背景

我在android-13.0.0_r41分支构建AOSP,使用的命令如下:

. build/envsetup.sh
lunch aosp_arm-eng
m all -j$(nproc)

相关环境变量配置:

PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=13
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.4.0-150-generic-x86_64-Ubuntu-20.04.5-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=TQ2A.230405.003.E1
OUT_DIR=out

尽管已设置HOST_CROSS_OS=windows,但未生成Windows二进制文件,执行find out -name '*.exe'无结果,也找不到合适的m命令目标,请问如何在Linux下构建AOSP时同时生成Windows二进制文件?

解决方法

  • 指定Windows专属构建目标:AOSP默认不会为全量模块构建Windows版本,仅部分工具支持跨平台编译。需使用带win_前缀的目标命令,而非m all:

    • 构建Windows版adb:m win_adb
    • 构建Windows版fastboot:m win_fastboot
    • 构建所有支持Windows的工具集合:m win_tools
  • 安装交叉编译依赖:确保Linux环境已安装Windows交叉编译工具链,以Ubuntu为例:

    sudo apt install mingw-w64
    
  • 正确配置环境变量:不要手动单独设置HOST_CROSS_OS,应在lunch后通过set_build_var配置,再执行构建:

    . build/envsetup.sh
    lunch aosp_arm-eng
    set_build_var HOST_CROSS_OS windows
    m win_tools -j$(nproc)
    
  • 直接检查专属输出路径:Windows二进制文件默认生成在out/host/windows-x86/bin/目录,可直接查看该路径:

    ls out/host/windows-x86/bin/
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 09:25:57