1. 리눅스 Ubuntu 패키지 설치
2. 리눅스가 모두 설치되면 루트 passwd를 설정
3. 만약 설치된 리눅스 Desktop에서 직접 작업을 원하시지 않는다면 ssh를 설치
4. 안드로이드 설치 환경 준비
- 기본적으로 다음과 같은 package를 인스톨
- 안드로이드는 Phython 2.4 이상이 요구 (단, 일반 현재 나오는 리눅스에는 2.4 이상이 포함)
4.1 자바 설치
- JDK 5.0, Update 12 또는 그 이상이 요구됩니다. (android froyo(2.2) 버전에서는 1.5 버전 사용추천 -> @override 옵션에서 에러가 나기 때문 (참고 : 안드로이드 인사이드 책)
5. Git 1.5.4 또는 그 이상 버전, 그리고 Repo 설치
- 환경설정을 반영하기 위해 다시 로그인 하시던가 아니면 터미날을 종료했다 다시 실행(추천)
5. 안드로이드 소스 다운로드
6. 안드로이드 빌드 하기
참고 :
- 이 과정을 수행하는 동안 zlib.h error가 발생할 수 있습니다.
- 이 경우에는 아래와 같이 zlibb1g-dev를 설치하시고 계속 make를 수행하면 됩니다.
- 이 과정을 수행하는 동안 -lncurses error가 발생할 수 있습니다.
- 이 경우에는 아래와 같이 libncurses5-dev를 설치하시고 계속 make를 수행하면 됩니다.
7. 결과 확인하기
8. Kernel 별도로 빌드하기
테스트
가벼운 virtualbox(oracle)을 사용 아니면 vmware를 구해서 설치 혹은 리눅스를 직접 설치
2. 리눅스가 모두 설치되면 루트 passwd를 설정
$ sudo passwd root
3. 만약 설치된 리눅스 Desktop에서 직접 작업을 원하시지 않는다면 ssh를 설치
ssh 설치 방법은
$ sudo apt-get install ssh
$ sudo apt-get install ssh
4. 안드로이드 설치 환경 준비
- 기본적으로 다음과 같은 package를 인스톨
- 안드로이드는 Phython 2.4 이상이 요구 (단, 일반 현재 나오는 리눅스에는 2.4 이상이 포함)
$ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev
build-essential zip curl
$ sudo apt-get install valgrind
build-essential zip curl
$ sudo apt-get install valgrind
4.1 자바 설치
- JDK 5.0, Update 12 또는 그 이상이 요구됩니다. (android froyo(2.2) 버전에서는 1.5 버전 사용추천 -> @override 옵션에서 에러가 나기 때문 (참고 : 안드로이드 인사이드 책)
$ sudo apt-get install sun-java5-jdk (자바 설치)
$ sudo update-java-alternatives -l (자바 버전화인)
$ sudo update-java-alternatives -s java-1.5.0-sun (여러개의 자바 설치가 된 경우 1.5.0으로 변경)
$ java -version (자바 버전 확인)
-------------------------------------------------------------------------------------
(자바 경로 설정) , which java -> 자바가 설치된 홈 폴더의 위치를 찾는 명령
$ export JAVA_HOME=/usr/bin/java
$ export ANDROID_JAVA_HOME=$JAVA_HOME
$ export PATH=$JAVA_HOME/bin:$PATH
$ sudo update-java-alternatives -l (자바 버전화인)
$ sudo update-java-alternatives -s java-1.5.0-sun (여러개의 자바 설치가 된 경우 1.5.0으로 변경)
$ java -version (자바 버전 확인)
-------------------------------------------------------------------------------------
(자바 경로 설정) , which java -> 자바가 설치된 홈 폴더의 위치를 찾는 명령
$ export JAVA_HOME=/usr/bin/java
$ export ANDROID_JAVA_HOME=$JAVA_HOME
$ export PATH=$JAVA_HOME/bin:$PATH
5. Git 1.5.4 또는 그 이상 버전, 그리고 Repo 설치
- 환경설정을 반영하기 위해 다시 로그인 하시던가 아니면 터미날을 종료했다 다시 실행(추천)
$ cd ~
$ mkdir bin
$ export PATH=$PATH:~/bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
$ mkdir mydroid
$ cd mydroid
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo
(-b는 버전 옵션, froyo를 설치 하겠다는 의미)
여기까지 실행 후, repo initialized in /home/<your_home>/mydroid 란 메시지 출력
-> 제 경우는, /home/<your_home> 여기에 initialized 되서, 아무 생각 없이 repo sync로 소스를 받았다가, 제가 만들어 둔 myandroid 안에 안 깔려서 계속 찾아 다녔습니다.
ls -a 명령으로 .repo 폴더가 어디에 initialized 되었는지 먼저 확인 하시면, 그 폴더에 소스들이 다운로드 되니, 참고 하세요-
이렇게 되면 환경설정은 이제 마무리!
$ mkdir bin
$ export PATH=$PATH:~/bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
$ mkdir mydroid
$ cd mydroid
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo
(-b는 버전 옵션, froyo를 설치 하겠다는 의미)
여기까지 실행 후, repo initialized in /home/<your_home>/mydroid 란 메시지 출력
-> 제 경우는, /home/<your_home> 여기에 initialized 되서, 아무 생각 없이 repo sync로 소스를 받았다가, 제가 만들어 둔 myandroid 안에 안 깔려서 계속 찾아 다녔습니다.
ls -a 명령으로 .repo 폴더가 어디에 initialized 되었는지 먼저 확인 하시면, 그 폴더에 소스들이 다운로드 되니, 참고 하세요-
이렇게 되면 환경설정은 이제 마무리!
5. 안드로이드 소스 다운로드
$ repo sync
6. 안드로이드 빌드 하기
$ make
(일반 빌드는 그냥 make , 타겟팅을 따로 설정해야 하는 경우는 복잡!)참고 :
- 이 과정을 수행하는 동안 zlib.h error가 발생할 수 있습니다.
- 이 경우에는 아래와 같이 zlibb1g-dev를 설치하시고 계속 make를 수행하면 됩니다.
$ sudo apt-get install zlib1g-dev
$ make
$ make
- 이 과정을 수행하는 동안 -lncurses error가 발생할 수 있습니다.
- 이 경우에는 아래와 같이 libncurses5-dev를 설치하시고 계속 make를 수행하면 됩니다.
$ sudo apt-get install libncurses5-dev
$ make
$ make
7. 결과 확인하기
out 디렉토리에 build된 안드로이드 full package가 위치하게 됩니다.
$ cd out
$ cd out
8. Kernel 별도로 빌드하기
- msm
$ cd ~/mydroid/kernel
$ make msm_defconfig ARCH=arm
$ make ARCH=arm
CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
- goldfish(1.5에서 merge됨, 따라서 msm_defconfig로 변경)
$ cd ~/mydroid/kernel
$ make goldfish_defconfig ARCH=arm
$ make ARCH=arm
CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
$ cd ~/mydroid/kernel
$ make msm_defconfig ARCH=arm
$ make ARCH=arm
CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
- goldfish(1.5에서 merge됨, 따라서 msm_defconfig로 변경)
$ cd ~/mydroid/kernel
$ make goldfish_defconfig ARCH=arm
$ make ARCH=arm
CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
테스트
1. 먼저 mydroid 의 out directory에서 아래의 세가지 image를
android sdk가 설치된 desktop에 download를 합니다.
~mydroid/out/target/product/generic/ramdisk.img
~mydroid/out/target/product/generic/system.img
~mydroid/out/target/product/generic/userdata.img
2. android sdk 1.0 이 설치된 desktop의 아래의 directory에서 ramdisk.img, system.img, use
rdata.img를 임시로 다른 곳으로 저장한 뒤에
android-sdk-windows-1.0_r1/tools/lib/images
3. 위에서 다운로운한 세가지 img 파일을 위의 디렉토리에 위치지운 후,
android-sdk-windows-1.0_r1/tools/emulator.exe를 실행
4. 만약 emualor가 정상적으로 실행되고, 내부 app. 들이 정상적으로 작동한다면,
안드로이드 source는 정상적으로 build 되었다고 판단!
android sdk가 설치된 desktop에 download를 합니다.
~mydroid/out/target/product/generic/ramdisk.img
~mydroid/out/target/product/generic/system.img
~mydroid/out/target/product/generic/userdata.img
2. android sdk 1.0 이 설치된 desktop의 아래의 directory에서 ramdisk.img, system.img, use
rdata.img를 임시로 다른 곳으로 저장한 뒤에
android-sdk-windows-1.0_r1/tools/lib/images
3. 위에서 다운로운한 세가지 img 파일을 위의 디렉토리에 위치지운 후,
android-sdk-windows-1.0_r1/tools/emulator.exe를 실행
4. 만약 emualor가 정상적으로 실행되고, 내부 app. 들이 정상적으로 작동한다면,
안드로이드 source는 정상적으로 build 되었다고 판단!
'개발 > 안드로이드 (Android)' 카테고리의 다른 글
[TIP] 안드로이드 개발 시 Eclipse 사용 셋팅 법 및 이클립스 단축 기능 (0) | 2011.03.14 |
---|---|
[TIP] 개발 시 참고할 만한 페이지 (0) | 2011.03.14 |
[참고] 안드로이드(2.2) 개발 환경 리눅스 셋팅 by 이클립스 (0) | 2010.12.09 |
[참고] 안드로이드 예제 및 프로젝트 실행시 발생 하는 오류 해결 및 참고 사항 (0) | 2010.12.07 |