mmi nameproject nameandroidpage no# flow description android (os )
TRANSCRIPT
MMI name Project name Android Page No 1
Flow DescriptionAndroid
Android 환경 구성(OS 설치 포함 )
MMI name Project name Android Page No 2
Flow Description
Revision History
Version Date Changes from Previous Author
0.1 04/13/2010 문서 생성 김진희
MMI name Project name Android Page No 3
Flow Description
준비작업00
OS 설치 준비01
OS 설치02
Build 환경04
Build05
Build 결과06
OS 설정03
MMI name Project name Android Page No 4
Flow Description
준비 작업
• Ubuntu Linux– Android Build 작업– 9.10 desktop i386 사용– http://www.ubuntu.com/
MMI name Project name Android Page No 5
Flow Description
준비 작업
• Virtualbox– Free, Opensource
• VMWare : 상용 프로그램
– VirtualBox-3.1.6-59338-Win 사용– http://www.virtualbox.org/
MMI name Project name Android Page No 6
Flow Description
OS 설치 준비
Click!
MMI name Project name Android Page No 7
Flow Description
OS 설치 준비
Click!
MMI name Project name Android Page No 8
Flow Description
OS 설치 준비
이름 입력
Linux 선택
Ubuntu 선택
Click!
MMI name Project name Android Page No 9
Flow Description
OS 설치 준비
• 메모리 크기 : 컴퓨터 메모리 크기의 ½ 미만
용량 설정
Click!
MMI name Project name Android Page No 10
Flow Description
OS 설치 준비
Click!
MMI name Project name Android Page No 11
Flow Description
OS 설치 준비
Click!
MMI name Project name Android Page No 12
Flow Description
OS 설치 준비
Click!
MMI name Project name Android Page No 13
Flow Description
OS 설치 준비
Click!
용량 선택(30GB 이상 권
장 )
파일 이름
설치된 OS 이미지가 저장될 파일 이름과
경로 지정
MMI name Project name Android Page No 14
Flow Description
OS 설치 준비
Click!
경로 및 이름 확인
확인
MMI name Project name Android Page No 15
Flow Description
OS 설치 준비
Click!
MMI name Project name Android Page No 16
Flow Description
OS 설치 준비
Click!
MMI name Project name Android Page No 17
Flow Description
OS 설치 준비
Click!
MMI name Project name Android Page No 18
Flow Description
OS 설치 준비
Click!
Click!
순서설정-OS 설치를 위해 CD/DVD 가 1 순위-OS 설치 후 HDD 로 변경 ( 선택사항 )
MMI name Project name Android Page No 19
Flow Description
OS 설치 준비
Click!
Click!
Click!
Click!
MMI name Project name Android Page No 20
Flow Description
OS 설치 준비
Click!
MMI name Project name Android Page No 21
Flow Description
OS 설치 준비
Click!
MMI name Project name Android Page No 22
Flow Description
OS 설치 준비
Click!
이미지 선택
MMI name Project name Android Page No 23
Flow Description
OS 설치 준비
Click!
MMI name Project name Android Page No 24
Flow Description
OS 설치
Click!
MMI name Project name Android Page No 25
Flow Description
OS 설치 – 주의 사항
• Virtualbox 에서 마우스 포인터 이동– 게스트 확장 설치 전
• 다른 윈도우로 이동이 자유롭지 않음• 오른쪽 Control Key 를 통해서 전환 가능
– 안 될 경우 Ct 기 + Alt + Del
• 게스트 확장은 OS 설치 후 설치
MMI name Project name Android Page No 26
Flow Description
OS 설치
선택
MMI name Project name Android Page No 27
Flow Description
OS 설치
Click!
MMI name Project name Android Page No 28
Flow Description
OS 설치
Click!
Click!
MMI name Project name Android Page No 29
Flow Description
OS 설치
Click!
확인
MMI name Project name Android Page No 30
Flow Description
OS 설치
Click!
확인
MMI name Project name Android Page No 31
Flow Description
OS 설치
Click!
Click!
MMI name Project name Android Page No 32
Flow Description
OS 설치
Click!
Click!
MMI name Project name Android Page No 33
Flow Description
OS 설치
Click!
Click!
MMI name Project name Android Page No 34
Flow Description
OS 설치
크기 입력
Click!
선택-목록에 있음 ( 리스트에서 선택 할 것 !!)
Click!
MMI name Project name Android Page No 35
Flow Description
OS 설치• Partition 분할
– 목록에 있음 : 마운트 위치 리스트에서 선택 , 없음은 직접 타이핑– swap : 용도 부분에서 선택
Partition Name Size
/boot ( 목록에 있음 ) 100MB – 주 파티션
swap ( 용도에서 선택 ) 메모리 * 2 – 부 파티션 , ( 용도에서 선택 ) 뒤에서 설명
/ ( 목록에 있음 ) 3GB (3072MB) – 부 파티션 , /boot 와 동일한 방법
/usr ( 목록에 있음 ) 5GB (5120MB) – 부 파티션 , /boot 와 동일한 방법
/tmp ( 목록에 있음 ) 512MB – 부 파티션 , /boot 와 동일한 방법
/var ( 목록에 있음 ) 512MB – 부 파티션 , /boot 와 동일한 방법
/home ( 목록에 있음 ) 512MB ( 더 작게 설정해도 됨 ) – 부 파티션 , /boot 와 동일한 방법
/backup ( 목록에 없음 ) 5GB (5120MB, 자료 백업용 Partition) ) – 부 파티션 , 마운트 위치에서 타이핑
/work ( 목록에 있음 ) 나머지 전부 ( 주 작업 partition) – 부 파티션 , 마운트 위치에서 타이핑
MMI name Project name Android Page No 36
Flow Description
OS 설치 – swap partition
Click!
크기 입력- 참고 표에 있음
Click!
Click!
MMI name Project name Android Page No 37
Flow Description
OS 설치
• “/” 확인– swap 제외
• 모두 소문자
Click!
MMI name Project name Android Page No 38
Flow Description
OS 설치
계정 ID
Password• Login 시 필요• 꼭 기억해 둘 것 !
임의 입력 가능
Click!
Click!
MMI name Project name Android Page No 39
Flow Description
OS 설치
Click!
MMI name Project name Android Page No 40
Flow Description
OS 설치
MMI name Project name Android Page No 41
Flow Description
OS 설정
Click!
MMI name Project name Android Page No 42
Flow Description
OS 설정 - Login• 설치 시 입력했던 계정 ID
– 클릭하면 password 입력 창 보임– 설치 시 입력했던 password 입력
Click!
MMI name Project name Android Page No 43
Flow Description
OS 설정
Click!
MMI name Project name Android Page No 44
Flow Description
OS 설정 – 터미널 실행
Double Click!
MMI name Project name Android Page No 45
Flow Description
OS 설정 – root password 설정
• 터미널 창에서 작업– sudo passwd root <Enter>
• 사용할 root passwd 입력• su - <Enter> (- 까지 입력해야 함 )
– root password 입력– Init 6 입력 ( 재부팅 )
– 이 후 작업은 root 로 login• 첫 화면에서 “ 기타…” 선택 • 사용자 이름에 “ root” 입력• root password 입력
MMI name Project name Android Page No 46
Flow Description
OS 설정 – 게스트 확장 설치
• 원활한 마우스 포인터 이동을 위함
Click!
MMI name Project name Android Page No 47
Flow Description
OS 설정 – 게스트 확장 설치- cd /media/cdrom <Enter>- sudo sh VBoxLinuxAdditions-x86.run <Enter>
MMI name Project name Android Page No 48
Flow Description
OS 설정 – 게스트 확장 설치- 설치 완료- init 6 <Enter> ( 재부팅 )- 재부팅 후 -> 마우스 화면 전환 자동
MMI name Project name Android Page No 49
Flow Description
OS 설정 – 공유 폴더 생성
Windows 에서 임의의 폴더 생성
Linux 에서 사용될 공유폴더 생성-cd /work work partition- mkdir share 공유폴더
MMI name Project name Android Page No 50
Flow Description
OS 설정 – 공유 폴더 설정
Click!
MMI name Project name Android Page No 51
Flow Description
OS 설정 – 공유 폴더 설정
Click!
Click!
Click!
MMI name Project name Android Page No 52
Flow Description
OS 설정 – 공유 폴더 설정
Click!
MMI name Project name Android Page No 53
Flow Description
OS 설정 – 공유 폴더 설정
- cd /mnt <Endter>- Mount –t vboxsf [Virtualbox 에서 지정한 폴더 이름 ] [ 리눅스 상에서 공유될 폴더 경로 및 이름 ]
공유 폴더 mount
MMI name Project name Android Page No 54
Flow Description
OS 설정 – 공유 폴더 설정
MMI name Project name Android Page No 55
Flow Description
Build 환경 – 기본 패키지
• sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev <Enter> ( 주의 ! 한 줄 임 )
• 만약 에러 나는 부분이 있다면 ( 주로 이미 설치 되어 있다는 메시지 ) 그 패키지를 빼고 다시 수행• 예 ) gperf 에서 에러
- sudo apt-get install git-core flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
MMI name Project name Android Page No 56
Flow Description
Build 환경 – java5 설치
• cd /etc/apt/• gedit sources.list• 한 번에 gedit /etc/apt/sources.list <Enter> 로 가능
MMI name Project name Android Page No 57
Flow Description
Build 환경 – java5 설치
• 맨 아래에 추가 • deb http://ko.archive.ubuntu.com/ubuntu/ jaunty multiverse• deb http://ko.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
MMI name Project name Android Page No 58
Flow Description
Build 환경 – java5 설치
• apt-get update <Enter>• apt-get install sun-java5-jdk
MMI name Project name Android Page No 59
Flow Description
Build 환경 – java5 설치
맨 아래에 추가export LANG=cexport PATH=/home/<your_home>/bin:$PATH:.export JAVA_HOME=/usr/lib/jvm/java-5-sun-1.5.0.19export ANDROID_JAVA_HOME=$JAVA_HOME
• sudo gedit ~/.bashrc• cd /usr/lib/jvm• ls (java Version 확인 )
MMI name Project name Android Page No 60
Flow Description
Build 환경 – valgrind 설치
• sudo apt-get install valgrind– 실행 파일의 디버깅과 프로파일링을 위한 툴
MMI name Project name Android Page No 61
Flow Description
Build 환경 – repo 설치
• cd /usr/bin/• curl http://android.git.kernel.org/repo > ./repo
NSA :: 소스 받을 필요 없음
MMI name Project name Android Page No 62
Flow Description
Build 환경 – repo 권한 변경
• chmod 777 repo 또는 chmod a+w repo
NSA :: 소스 받을 필요 없음
MMI name Project name Android Page No 63
Flow Description
Build 환경 – 소스 받기
• 소스 받을 폴더 생성– cd /work– mkdir 폴더명– cd 폴더명
MMI name Project name Android Page No 64
Flow Description
Build 환경 – 소스 받기
• 주의 !! 위 명령은 소스 받을 폴더 안에서 수행 할 것 !
repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair
NSA :: 소스 받을 필요 없음
MMI name Project name Android Page No 65
Flow Description
Build 환경 – 소스 받기
• Project 의 이름은 바꿔도 됨 • android_kernel , froyo 폴더 경로와 이름 맞춤• 다운받아놓은 커널과 소스 파일을 해당 경로에 맞춰서 압축 해제
MMI name Project name Android Page No 66
Flow Description
Build 환경 – 소스 받기
• 소스 받는 중 위와 같은 질문을 받음 ( 기억하기 쉬운 것으로 입력 ) • Repo initialized in 경로명 정상적으로 완료됨을 의미
NSA :: 소스 받을 필요 없음
MMI name Project name Android Page No 67
Flow Description
Build 환경 – 소스 받기
• repo sync
NSA :: 소스 받을 필요 없음
MMI name Project name Android Page No 68
Flow Description
Build 환경 – 알려진 Build 문제 해결
• cd /usr/bin/• ls –l gcc* g++*• gcc / g++ 링크 확인
– 4.4 버전일 경우 문제가 빌드 문제가 발생할 수 있음 ( 엄격해진 문법 검사로 인해서 발생 )– 4.3 으로 다운그레이드 해야 함
MMI name Project name Android Page No 69
Flow Description
Build 환경 – 알려진 Build 문제 해결
• sudo apt-get install g++-4.3
MMI name Project name Android Page No 70
Flow Description
Build 환경 – 알려진 Build 문제 해결
• 주의 ! /usr/bin 에서 작업 할 것 (cd /usr/bin)• sudo mv g++ g++.org• sudo mv gcc gcc.org• sudo ln –s g++-4.3 g++• sudo ln –s gcc-4.3 gcc
MMI name Project name Android Page No 71
Flow Description
Build
• 소스가 있는 경로로 이동 ( 예 )cd /work/eclair/buildtest)• ls 로 확인
– Makefile 이 존재– 기타 폴더들이 존재
MMI name Project name Android Page No 72
Flow Description
Build
• make <Enter>• ./build_apsp1000_android.sh : adore build• ./build_aptp1000_android.sh : austri build
생략
MMI name Project name Android Page No 73
Flow Description
Build
• 빌드가 완료됨– system.img– ramdisk.img– userdata.img
MMI name Project name Android Page No 74
Flow Description
Build 결과
• 기존에 없던 “ out” 폴더 생성됨
MMI name Project name Android Page No 75
Flow Description
Build 결과
• cd /out/target/product/generic • ls -als• ramdisk.img , system.img, userdata.img 확인 가능
MMI name Project name Android Page No 76
Flow Description
Emulator• glib-2.11 error
1. sudo vi /etc/apt/sources.list2. deb http://security.ubuntu.com/ubuntu lucid-security main 추가3. sudo apt-get update4. sudo apt-get install libc6
Emulator 에 build 된 .img file 넣는법
Android sdk 가 깔려있는 폴더의
platforms\android-8\images경로에 생성된 .img 파일 덮어쓰기 후 emulator start