1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다. 1.1. 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot) 만별도로필요한경우도있어툴체인설치및설정에대해알아봅니다. 1.1.1. 툴체인설치 다음링크에서다운받을수있습니다. http://www.codesourcery.com/sgpp/lite/arm/portal/subscription3057 설치작업은특별한인스톨과정을거치는것은아니고다운로드받은파일을단순히압축을풀어놓 는과정입니다. root@ubuntu:/opt# tar xvfj arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1
1.1.2. bash 환경설정파일 (.bashrc) 에아래와같은내용을추가하고 export CROSS_COMPILE=/opt/arm-2009q3/bin/arm-none-linux-gnueabiexport PATH=$PATH:/opt/arm-2009q3/bin 변경내용을적용합니다. yhoh@ubuntu:~$ source.bashrc 1.2. 패키지설치 개발에필요한패키지는아래링크에서권장하는대로진행합니다. http://source.android.com/source/initializing.html 1.2.1. Python 설치 python.org 에접속해보면 Python 3 버전이이미나와있습니다. Python 2 의경우도 2.7 까지있습니 다. 구글에서는 2.4 2.7 로권장하고있으니 2.x 대로설치하면됩니다. 위와같이 python 이라고명령을수행하면이미 Python 2.6.6 이설치되어있는것을확인할수있습 니다. 요구사항인 2.4 버전보다상위버전이이미설치되어있기때문에특별히설치작업을수행할 필요는없습니다. 1.2.2. Java 6 설치 JDK 6 if you wish to build Gingerbread or newer; JDK 5 for Froyo or older. You can download either from java.sun.com. Gingerbread는 JDK 6를설치해야합니다. Java 6: for Gingerbread and newer sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner" sudo apt-get update sudo apt-get install sun-java6-jdk sudo update-java-alternatives -s java-6-sun 2
Java 6 와관련해서설치를진행해야하는순서는위와같습니다. sun-java6-jdk 를설치해야하는것입 니다. yhoh@ubuntu:~$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" yhoh@ubuntu:~$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner" Error: 'deb-src http://archive.canonical.com/ubuntu lucid partner' invalid 첫번째것은문제없이되는데두번째내용에서에러가나면다음과같이 /etc/apt/sources.list의내용을변경합니다. yhoh@ubuntu:~$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" yhoh@ubuntu:~$ sudo add-apt-repository "deb http://archive.canonical.com/ubuntu lucid partner" /etc/apt/sources.list 의내용을변경한경우엔, 저장소업데이트를해줘야합니다. yhoh@ubuntu:~$ sudo apt-get update yhoh@ubuntu:~$ sudo apt-get install sun-java6-jdk 설치후, java 버전을변경하는작업을해보면다음과같은에러가나옵니다. yhoh@ubuntu:~$ sudo update-java-alternatives -s java-6-sun update-alternatives: error: no alternatives for mozilla-javaplugin.so. update-alternatives: error: no alternatives for xulrunner-1.9-javaplugin.so. update-alternatives: error: no alternatives for mozilla-javaplugin.so. update-alternatives: error: no alternatives for xulrunner-1.9-javaplugin.so. 이것은 java 6 plugin이설치되어있지않기때문에발생하는것입니다. 물론안드로이드소스빌드에는크게상관은없지만설치를해주는게좋을것입니다. yhoh@ubuntu:~$ sudo apt-get install sun-java6-plugin yhoh@ubuntu:~$ sudo update-java-alternatives -s java-6-sun 설치가완료되면, "update-alternatives --config java" 를수행해서위와같이정상적으로설정이되어 있는지를확인합니다. www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 3
.bashrc 파일에서다음과같이설정합니다. # JAVA setting... export JAVA_HOME=/usr/lib/jvm/java-6-sun export ANDROID_JAVA_HOME=$JAVA_HOME 1.2.3. 기타패키지설치작업 To set up your development environment, install the following required packages: $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gccmultilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev You might also want Valgrind, a tool that will help you find memory leaks, stack corruption, array bounds overflows, etc. 위의환경설정은 64 비트환경에대한것입니다. 그러므로일부의패키지는설치되지않을수도있습니다. 또한 32 비트환경에서수행하기위한패키지도추가로필요할수있습니다 libc6-dev-i386을설치하려고하면아래와같은에러가발생합니다. 위에러는 64비트환경에서설치를진행해야하는데 i386 환경에서설치를하려고하기때문에문제가발생하는것입니다. 대신 libc6-dev를설치해야합니다. yhoh@ubuntu:~$ sudo apt-get install libc6-dev-i386 E: Unable to locate package libc6-dev-i386 lib32ncurses5-dev 역시아래와같이에러가발생합니다. libncurses5-dev로바꾸어서설치해주셔야합니다. libncurses5-dev는정상적으로설치가됩니다. yhoh@ubuntu:~$ sudo apt-get install lib32ncurses5-dev 4
E: Unable to locate package lib32ncurses5-dev yhoh@ubuntu:~$ sudo apt-get install libncurses5-dev ia32-libs의경우도아래와같이에러가발생하는데이것은 64 비트환경에서만사용하는것이기때문에무시해도됩니다. yhoh@ubuntu:~$ sudo apt-get install ia32-libs E: Unable to locate package ia32-libs lib32readline5-dev의경우도에러가발생합니다. libreadline5-dev로바꾸어서설치해주어야하는데이것은우분투예전버전을사용하는경우만하면됩니다. 우분투 10.10을사용하기때문에위내용은설치할필요가없습니다 yhoh@ubuntu:~$ sudo apt-get install lib32readline5-dev E: Unable to locate package lib32readline5-dev www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 5