JDK 설치


기본으로 제공되는 sun-java5-jdk는 에러 발생 가능성 있음

최신 패키지인 oracle 패키지 설치 권장


$ sudo apt-get purge openjdk*

$ sudo apt-get install ppa-purge

$ sudo add-apt-repository ppa:upubuntu-com/java

$ sudo apt-get update

$ sudo apt-get install oracle-java7-installer




AOSP 설치 


1. 저장소 추가 및 관련 파일 설치


$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"


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

  zip curl libc6-dev libncurses5-dev x11proto-core-dev \

  libx11-dev libreadline6-dev lib32ncurses5-dev \

  libgl1-mesa-dev g++-multilib mingw32 tofrodos \

  python-markdown libxml2-utils xsltproc zlib1g-dev

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


2. Repo Client 초기화 및 소스 다운로드


$ mkdir ~/bin

$ PATH=~/bin:$PATH


$ curl https://dl-ssl.google.com/d/googlesource/git-repo/repo > ~/bin/repo

$ chmod a+x ~/bin/repo

$ mkdir WORKING_DIRECTORY

$ cd WORKING_DIRECTORY


$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

$ repo sync


3. 사용자 식별


안드로이드 소스는 기본적으로 익명 접근이 가능하나, 서버에 대한 과도한 사용의 보호를 위해 사용자를 식별함

자동 패스워드 생성 페이지를 방문하여 ID/PW를 할당 받자

https://android.googlesource.com/new-password


할당된 정보를 ~/.netrc 파일에 패스워드 저장


강제 인증 실시

$ repo init -u https://android.googlesource.com/a/platform/manifest





 USB Access 설정

루트가 아니더라도 USB 장치에 접근하는 것이 필요

/etc/udev/rules.d/51-android.rules 파일을 생성하고 아래 내용을 입력

<username> 은 자신의 사용자 이름으로 치환


# 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>"

# 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>"





참조 : http://source.android.com/source/building.html


'Android' 카테고리의 다른 글

APP Repacking  (1) 2013.07.08
개발환경 설정, Eclipse, ADT Plugin, Android SDK 설치  (0) 2013.07.01
Posted by ph4nt0m
,