AOSP 개발 설정(2.3~8.0)

이 페이지에서는 Android 8.0 또는 이전 버전으로 개발 시 설정 방법을 설명합니다. Android 9.0 이상을 빌드하는 방법은 AOSP 개발 설정을 참고하세요.

AOSP 개발 설정(5.0~8.0)

Android 5.0~8.0의 경우 포함된 Dockerfile을 사용하여 모든 필수 패키지를 쉽게 설치할 수 있습니다.

운영체제

Android는 일반적으로 GNU Linux로 빌드됩니다. Mac OS X와 같이 지원되지 않는 시스템에서는 가상 머신으로 Android를 빌드할 수도 있습니다.

하지만 GNU Linux에서 빌드하는 것이 좋습니다. Android 빌드 시스템은 일반적으로 ART를 빌드 시스템에서 실행하여 시스템 DEX 파일을 사전 컴파일합니다. ART는 Linux에서만 실행할 수 있으므로 Linux 외 운영체제에서는 빌드 시스템이 이 사전 컴파일 단계를 건너뛰고 성능이 저하된 Android 빌드가 생성됩니다.

GNU Linux

  • Android 6.0~Android 8.0: Ubuntu 14.04(Trusty)
  • Android 5.x: Ubuntu 12.0

Mac OS X(Intel/x86)

  • Android 6.0~AOSP 8.0: Xcode 4.5.2 및 명령줄 도구가 포함된 Mac OS X v10.10(Yosemite) 이상
  • Android 5.x: Xcode 4.5.2 및 명령줄 도구가 포함된 Mac OS X v10.8(Mountain Lion)

JDK

AOSP 개발 설정(2.3~4.4)

이 섹션에서는 Android 2.3~Android 4.4를 설정하는 방법에 관해 안내합니다.

운영체제

Android는 일반적으로 GNU Linux로 빌드됩니다. Windows와 같이 지원되지 않는 시스템에서는 가상 머신으로 Android를 빌드할 수도 있습니다.

하지만 GNU Linux에서 빌드하는 것이 좋습니다. Android 빌드 시스템은 일반적으로 ART를 빌드 시스템에서 실행하여 시스템 DEX 파일을 사전 컴파일합니다. ART는 Linux에서만 실행할 수 있으므로 Linux 외 운영체제에서는 빌드 시스템이 이 사전 컴파일 단계를 건너뛰고 성능이 저하된 Android 빌드가 생성됩니다.

GNU Linux

  • Android 2.3.x~Android 4.4: Ubuntu 12.04(Precise)

Mac OS X(Intel/x86)

  • Android 4.1.x~Android 4.4.x: Mac OS X v10.6(Snow Leopard) 또는 Mac OS X v10.7(Lion) 및 Xcode 4.2(Apple 개발자 도구)
  • Android 2.3~Android 4.0.x: Mac OS X v10.5(Leopard) 또는 Mac OS X v10.6(Snow Leopard) 및 Mac OS X v10.5 SDK

GNU make

Android 4.1.x~4.4의 경우 GNU make(gmake) 3.82를 사용하세요. Android 2.3~4.0.x의 경우 gmake 3.82에서 되돌려야 빌드 오류를 방지할 수 있습니다.

Xcode 및 기타 패키지

Mac OS X v10.8 이하의 경우 Apple 개발자 사이트에서 Xcode를 설치하세요. Apple 개발자로 등록되어 있지 않은 경우 다운로드하려면 Apple ID를 만들어야 합니다.

Mac OS X v10.4를 사용하는 경우 Bison도 설치합니다.

POSIXLY_CORRECT=1 sudo port install bison

MacPorts의 경우 다음을 실행합니다.

POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

Homebrew의 경우 다음을 실행합니다.

brew install gmake libsdl git gnupg2

gmake 3.82에서 되돌리기

Android 4.0.x 이하에서는 gmake 3.82에 Android가 빌드되지 못하게 하는 버그가 있습니다. 다음 단계에 따라 MacPorts를 사용하여 버전 3.81을 설치할 수 있습니다.

  1. /opt/local/etc/macports/sources.conf를 수정하고 rsync 줄 위에 file:///Users/Shared/dports를 추가합니다.

  2. dports 디렉터리를 만듭니다.

    mkdir /Users/Shared/dports
    
  3. dports 디렉터리에서 다음을 실행합니다.

    svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
    
  4. 새 로컬 저장소의 포트 색인을 만듭니다.

    portindex /Users/Shared/dports
    
  5. 하위 버전의 gmake를 설치합니다.

    sudo port install gmake @3.81
    

JDK

Linux용 JDK

Android 오픈소스 프로젝트(AOSP)prebuilts/jdk/ 내에 사전 빌드된 버전의 OpenJDK가 함께 제공되므로 추가로 설치할 필요가 없습니다.

Android의 이전 버전에서는 JDK를 별도로 설치해야 합니다. Ubuntu에서는 OpenJDK를 사용합니다.

Ubuntu 15.04 이상

다음을 실행합니다.

sudo apt-get update
sudo apt-get install openjdk-8-jdk

Ubuntu LTS 14.04인 경우

Ubuntu 14.04에서 지원되는 OpenJDK 8 패키지가 없습니다. Ubuntu 15.04 OpenJDK 8 패키지는 Ubuntu 14.04에서 성공적으로 사용되었습니다. 패키지 버전이 높은 경우(예: 15.10, 16.04) 14.04에서는 다음 안내에 따라 작동하지 않습니다.

  1. old-releases.ubuntu.com에서 64비트 아키텍처용 .deb 패키지를 다운로드합니다.

    • openjdk-8-jre-headless_8u45-b14-1_amd64.deb(SHA256 0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0 포함)
    • openjdk-8-jre_8u45-b14-1_amd64.deb(SHA256 9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849 포함)
    • openjdk-8-jdk_8u45-b14-1_amd64.deb(SHA256 6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c 포함)
  2. 원하는 경우, 1단계의 각 패키지에 나열된 SHA256 문자열과 비교하여 다운로드한 파일의 체크섬을 확인합니다. 예를 들어 sha256sum 도구의 경우 다음을 실행합니다.

    sha256sum {downloaded.deb file}
    
  3. 패키지를 설치합니다.

    sudo apt-get update
    
  4. 다운로드한 .deb 파일 각각에 관해 dpkg를 실행합니다. 종속 항목 누락으로 인해 오류가 발생할 수 있습니다.

    sudo dpkg -i {downloaded.deb file}
    
  5. 종속 항목 누락을 해결하려면 다음을 실행합니다.

    sudo apt-get -f install
    

(선택사항) 기본 Java 버전 업데이트

원한다면 이전에 언급한 Ubuntu 버전의 경우 다음을 실행하여 기본 Java 버전을 업데이트합니다.

sudo update-alternatives --config java
sudo update-alternatives --config javac

Ubuntu 14.04 필수 패키지 설치

다음 명령어를 실행하여 Ubuntu 14.04 필수 패키지를 설치하세요.

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip$

Ubuntu 12.04 필수 패키지 설치

다음 명령어를 실행하여 Ubuntu 12.04 필수 패키지를 설치하세요.

$ sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so