我使用以下命令在分支 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 二进制文件?
根据官方文档,您仍然需要构建目标
win_sdk
和/或 winsdk-tools
那么您应该能够在 out/host/**
目录中看到所需的输出。
官方参考:https://android.googlesource.com/platform/sdk/+/master/docs/howto_build_SDK.txt#110