티스토리 뷰

Android

Android Build on Mac #2

RCE_Mania 2019. 3. 1. 13:00

빌드 환경 설정

소스코드 다운로드가 완료되면 AOSP에서 제공해주는 쉘 스크립트를 이용해 초기화 작업을 진행한다.

cd [Working Directory]
. build/envsetup.sh
or
source build/envsetup.sh

zsh에서 진행할 경우 특정 커맨드를 실행하지 못하기 때문에 bash에서 실행해야 한다.

빌드 대상 선정

아래 명령을 통해 빌드하고 싶은 대상을 선정한다.

bash-3.2$ lunch

You're building on Darwin

Lunch menu... pick a combo:
     1. aosp_arm-eng
     2. aosp_arm64-eng
     3. aosp_mips-eng
     4. aosp_mips64-eng
     5. aosp_x86-eng
     6. aosp_x86_64-eng
     7. full_fugu-userdebug
     8. aosp_fugu-userdebug
     9. mini_emulator_arm64-userdebug
     10. m_e_arm-userdebug
     11. m_e_mips-userdebug
     12. m_e_mips64-eng
     13. mini_emulator_x86-userdebug
     14. mini_emulator_x86_64-userdebug
     15. aosp_dragon-userdebug
     16. aosp_dragon-eng
     17. aosp_marlin-userdebug
     18. aosp_sailfish-userdebug
     19. aosp_flounder-userdebug
     20. aosp_angler-userdebug
     21. aosp_bullhead-userdebug
     22. hikey-userdebug
     23. aosp_shamu-userdebug

Which would you like? aosp_x86-eng

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=7.1.1
TARGET_PRODUCT=aosp_x86
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=x86
TARGET_ARCH_VARIANT=x86
TARGET_CPU_VARIANT=
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=darwin
HOST_OS_EXTRA=Darwin-17.7.0-x86_64-i386-64bit
HOST_CROSS_OS=
HOST_CROSS_ARCH=
HOST_CROSS_2ND_ARCH=
HOST_BUILD_TYPE=release
BUILD_ID=NMF26O
OUT_DIR=out
============================================

'aosp_x86-eng’를 대상으로 빌드를 진행할 것이라서 해당 빌드를 선택했고, 선택할 때는 숫자나 빌드이름을 입력하면 된다.

OSX SDK 문제

최신 버전 Xcode를 사용해서 AOSP 7버전을 빌드할때 아래와 같은 SDK 버전 문제가 발생한다.

build/core/combo/mac_version.mk:26: none of the installed SDKs (ac_sdk_versions_installed) match supported versions (10.8 10.9 10.10 10.11), trying 10.8

현재 최신 버전의 SDK는 10.14버전을 제공해주고 있지만, AOSP 빌드에서는 10.8 버전을 이용해 빌드해야한다.

Apple developer site에서 SDK 10.8 버전을 포함하는 Xcode를 다운받아 SDK만 따로 추출해서 복사할 수 있다. 또는 side-by-side 인스톨을 이용해 아래 명령어로 xcode를 번갈아 가며 사용할 수 있다.

sudo xcode-select --switch /Applications/Xcode7.app

하지만 Xcode를 전체 설치하는 것은 불필요한 디스크 사용을 늘리는 것이기 때문에 필요한 SDK만 추출하여 사용하길 바란다.

bash-3.2$ ls -l /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
total 0
drwxr-xr-x  7 root   wheel  224 10 18 21:52 MacOSX.sdk
lrwxr-xr-x  1 root   wheel   10  2 19 11:33 MacOSX10.14.sdk -> MacOSX.sdk
drwxr-xr-x@ 5 Shawn  wheel  160  9  5  2013 MacOSX10.8.sdk
drwxr-xr-x@ 5 Shawn  wheel  160  2 18  2014 MacOSX10.9.sdk

SDK 설치가 완료되면 아래 환경 변수를 설정한다.

bash-3.2$ export MAC_SDK_VERSION="10.9"

코드 빌드

아래 명령어를 통해 빌드를 시작한다.

bash-3.2$ make -j4

'Android' 카테고리의 다른 글

Flashing to Android Reference Phone  (0) 2020.08.01
Android Build on Mac #1  (0) 2019.02.28
댓글