我现在在 Macbook(M1) 上构建 AOSP 项目,经过几个步骤来设置环境。我可以成功构建它。
在根目录中:
source build/envsetup.sh
lunch
m
几个小时后,可以成功搭建
[ 99% 100092/100137] Target Java: out/target/common/obj/APPS/Dialer_intermediates/classes-full-debug.jar
Note: Generating a Provider for com.android.dialer.glidephotomanager.impl.GlidePhotoManagerImpl. Prefer to run the dagger processor over that class instead.
Note: [1] Wrote GeneratedAppGlideModule with: []
[100% 100137/100137] Target vbmeta image: out/target/product/sunfish/vbmeta.img
#### build completed successfully (04:59:43 (hh:mm:ss)) ####
我想用“make otapackage”构建ota包
我知道
otatools
在达尔文(build/make/core/Makefile
)上被禁用。
所以我更改了 Makefile 以启用 otatools:
ifeq ($(BUILD_OS),darwin)
build_ota_package := true
build_otatools_package := true
else
重新构建后(确保构建成功)并运行
make otapackage
> make otapackage
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
TARGET_PRODUCT=aosp_sunfish
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_OS=darwin
HOST_OS_EXTRA=Darwin-21.6.0-x86_64-12.6
HOST_BUILD_TYPE=release
BUILD_ID=QD4A.200805.003
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=device/google/sunfish hardware/google/av hardware/google/interfaces hardware/google/pixel hardware/qcom/sm7150 hardware/qcom/sm7150/display vendor/google/camera vendor/qcom/sm7150 vendor/google/interfaces vendor/qcom/sm8150/codeaurora/telephony/ims vendor/qcom/sm8150/proprietary/data/permissions vendor/qcom/sm8150/proprietary/qcril-data-hal/qdp vendor/qcom/sm8150/proprietary/qcril-data-hal/util vendor/qcom/sm8150/proprietary/qcril-data-hal/datamodule vendor/qcom/sm8150/proprietary/qcril-hal
============================================
wildcard(out/target/product/sunfish/clean_steps.mk) was changed, regenerating...
FAILED: ninja: 'out/host/darwin-x86/bin/brillo_update_payload', needed by 'out/target/product/sunfish/aosp_sunfish-ota-eng.kohleradmin.zip', missing and no known rule to make it
16:09:01 ninja failed with: exit status 1
#### failed to build some targets (01:39 (mm:ss)) ####
那么如何解决这个问题或者是否可以在 Macbook 上构建 ota 包?
我做了一些研究,发现我们无法在 MacBook 上构建 otapackage,我将环境更改为 Ubuntu,终于可以运行了。