Android 的源代码可以在 El Capitan 上使用 XCode 7.2 构建吗?



我正在尝试使用 MacOS SDK 版本 10.11 在 OSX El Capitan 上构建 AOSP 的 Lollipop-cts-dev 分支。我在不同的设置下遇到了不同的构建问题。目前我收到以下错误:

system/core/include/log/log.h:35:20: error: stdarg.h: No such file or directory
make: *** [out/host/darwin-x86/obj32/STATIC_LIBRARIES/libinput_intermediates/Keyboard.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [out/host/darwin-x86/obj32/STATIC_LIBRARIES/libinput_intermediates/InputDevice.o] Error 1
make: *** [out/host/darwin-x86/obj32/STATIC_LIBRARIES/libinput_intermediates/Input.o] Error 1
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
#### make failed to build some targets (03:58 (mm:ss)) ####

我的猜测是,这是因为AOSP代码库的OSX SDK版本不兼容。更具体地说,如要求中所述https://source.android.com/source/requirements.htmlAndroid 5.x(棒棒糖)需要Mac OS v10.8(Mountain Lion)。

有人可以证实这一点吗?难道没有直接的方法可以在El Capitan上构建棒棒糖吗?

我不确定这是否有帮助,但您可能会在build/core/combo/HOST_darwin-x86.mk中找到以下代码:

ifeq ($(mac_sdk_version),10.8)
host_toolchain_header := $(HOST_TOOLCHAIN_ROOT)/lib/gcc/i686-apple-darwin$(gcc_darwin_version)/4.2.1/include
HOST_GLOBAL_CFLAGS += -isystem $(host_toolchain_header)
endif
else

10.8修改为10.11可能会解决问题。

解决方案来源(以简体中文编写):

http://www.liball.me/mac-10-10-build-android-4-4-4-for-nexus/

最新更新