ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Ubuntu] 안드로이드 빌드 환경 구축하기 !
    CSE/Ubuntu 2016. 1. 11. 06:42

    안드로이드 빌드 환경 구축하기

    (Establishing a Build Environment)

     우분투 환경에서 안드로이드 빌드 환경 구축해보겠습니다.







    [출처: phonearena]




     공식적으로 명시된 PC or 노트북의 제원 조건입니다.



  • A Linux or Mac OS system. It is also possible to build Android in a virtual machine on unsupported systems such as Windows. If you are running Linux in a virtual machine, you need at least 16GB of RAM/swap and 100GB or more of disk space in order to build the Android tree. See disk size requirements below.
  • A 64-bit environment is required for Gingerbread (2.3.x) and newer versions, including the master branch. You can compile older versions on 32-bit systems.
  • At least 100GB of free disk space for a checkout, 150GB for a single build, and 200GB or more for multiple builds. If you employ ccache, you will need even more space.



  •  요약하면, 리눅스(Linux) 혹은 Mac OS 에서 가능하지만, 윈도우에서 가상 머신(virtual machine)을 통해서 빌드도 가능하다고 합니다.

     - 가상 머신 자체가 상당한 메모리를 잡아먹기에 별로 추천드리지 않습니다(제원이 캡으로 좋다면 얘기가 다르겠지만요.)


     적어도 16 GB 의 램과 스왑 영역이 필요하다고 합니다. 그리고 100 GB 의 여유 공간이 필요하죠. 싱글 빌드에는 150 GB, 멀티 빌드에는 200 GB 필요합니다.




     위 포스팅은 Ubuntu 14.04 LTS (64-bit) 버전 기준으로 작성되었습니다.



     Installing the JDK

      빌드를 위해서는 Java 7을 필요로 합니다. 아래 명령어를 터미널(Ctrl + Alt + T)에서 수행하여 설치합니다.


     - sudo apt-get update

     - sudo apt-get install openjdk-7-jdk




      추가적으로 아래 명령어를 수행하여 업데이트를 진행합니다.


     - sudo update-alternatives -config java

     - sudo update-alternatives -config javac




      올드한 버전의 안드로이드를 빌드하시겠다면, 하위 버전 Java를 또한 설치해주세요.


     - Java 6: 진저 브레드에서 킷캣 버전

     - Java 5: 컵케이크에서 프로요





     Installing required packages

      빌드를 위해 필요한 여러가지 패키지를 설치합니다.


     - sudo apt-get install git-core gnupg flex bison gperf build-essential \

      zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \

      lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \

      libgl1-mesa-dev libxml2-utils xsltproc unzip



      오류없이 잘 설치되는지 확인하십니다.





     Configuring USB Access

      USB 드라이버를 설치하셔야 윈도우에서 처럼 접속하여 사용가능합니다. 이번 파트는 시류아 님의 강좌를 따와서 작성했습니다.



      초기 gksu 설치를 해줍니다.


      - sudo apt-get install gksu


     

      설치가 완료되면 본격적으로 USB 드라이버를 설치합니다.

      아래 명령어를 입력합니다.


      - gksudo gedit /etc/udev/rules.d/51-android.rules



      다음 열리는 에디터 창에 아래 텍스트를 입력합니다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    # adb protocol on passion (Nexus One)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
    # fastboot protocol on passion (Nexus One)
    SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
    # adb protocol on crespo/crespo4g (Nexus S)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
    # fastboot protocol on crespo/crespo4g (Nexus S)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
    # adb protocol on stingray/wingray (Xoom)
    SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="<username>"
    # fastboot protocol on stingray/wingray (Xoom)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="<username>"
    # adb protocol on maguro/toro (Galaxy Nexus)
    SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"
    # fastboot protocol on maguro/toro (Galaxy Nexus)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>"
    # adb protocol on panda (PandaBoard)
    SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>"
    # adb protocol on panda (PandaBoard ES)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d002", MODE="0600", OWNER="<username>"
    # fastboot protocol on panda (PandaBoard)
    SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>"
    # usbboot protocol on panda (PandaBoard)
    SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", MODE="0600", OWNER="<username>"
    # usbboot protocol on panda (PandaBoard ES)
    SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>"
    # adb protocol on grouper/tilapia (Nexus 7)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0600", OWNER="<username>"
    # fastboot protocol on grouper/tilapia (Nexus 7)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0600", OWNER="<username>"
    # adb protocol on manta (Nexus 10)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0600", OWNER="<username>"
    # fastboot protocol on manta (Nexus 10)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0600", OWNER="<username>"
    # adb protocol on hammerhead (Nexus 5)
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee1", MODE="0600", OWNER="<username>"
    cs


      


      입력 후 저장한 뒤, 마지막으로 퍼미션을 준 뒤 USB 드라이버 설치를 끝냅니다.


      - sudo chmod a+r /etc/udev/rules.d/51-android.rules


     



     Installing ADB

      아래 명령어를 입력하여 ADB 를 설치합니다.


      - sudo apt-get install android-tools-adb


     




     자 여기까지가 안드로이드 빌드 환경 구축하기 입니다.



     다음 장은 소스 다운로드를 진행하도록 하겠습니다.




     

댓글