mmi nameproject nameandroidpage no# flow description android (os )

76
MMI name Project name Android Page No 1 Flow Description Android Android 환환 환환 (OS 환환 환환 )

Upload: nicholas-law

Post on 26-Mar-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 1

Flow DescriptionAndroid

Android 환경 구성(OS 설치 포함 )

Page 2: MMI nameProject nameAndroidPage No# Flow Description 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 문서 생성 김진희

Page 3: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 3

Flow Description

준비작업00

OS 설치 준비01

OS 설치02

Build 환경04

Build05

Build 결과06

OS 설정03

Page 4: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 4

Flow Description

준비 작업

• Ubuntu Linux– Android Build 작업– 9.10 desktop i386 사용– http://www.ubuntu.com/

Page 5: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 5

Flow Description

준비 작업

• Virtualbox– Free, Opensource

• VMWare : 상용 프로그램

– VirtualBox-3.1.6-59338-Win 사용– http://www.virtualbox.org/

Page 6: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 6

Flow Description

OS 설치 준비

Click!

Page 7: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 7

Flow Description

OS 설치 준비

Click!

Page 8: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 8

Flow Description

OS 설치 준비

이름 입력

Linux 선택

Ubuntu 선택

Click!

Page 9: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 9

Flow Description

OS 설치 준비

• 메모리 크기 : 컴퓨터 메모리 크기의 ½ 미만

용량 설정

Click!

Page 10: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 10

Flow Description

OS 설치 준비

Click!

Page 11: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 11

Flow Description

OS 설치 준비

Click!

Page 12: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 12

Flow Description

OS 설치 준비

Click!

Page 13: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 13

Flow Description

OS 설치 준비

Click!

용량 선택(30GB 이상 권

장 )

파일 이름

설치된 OS 이미지가 저장될 파일 이름과

경로 지정

Page 14: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 14

Flow Description

OS 설치 준비

Click!

경로 및 이름 확인

확인

Page 15: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 15

Flow Description

OS 설치 준비

Click!

Page 16: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 16

Flow Description

OS 설치 준비

Click!

Page 17: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 17

Flow Description

OS 설치 준비

Click!

Page 18: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 18

Flow Description

OS 설치 준비

Click!

Click!

순서설정-OS 설치를 위해 CD/DVD 가 1 순위-OS 설치 후 HDD 로 변경 ( 선택사항 )

Page 19: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 19

Flow Description

OS 설치 준비

Click!

Click!

Click!

Click!

Page 20: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 20

Flow Description

OS 설치 준비

Click!

Page 21: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 21

Flow Description

OS 설치 준비

Click!

Page 22: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 22

Flow Description

OS 설치 준비

Click!

이미지 선택

Page 23: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 23

Flow Description

OS 설치 준비

Click!

Page 24: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 24

Flow Description

OS 설치

Click!

Page 25: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 25

Flow Description

OS 설치 – 주의 사항

• Virtualbox 에서 마우스 포인터 이동– 게스트 확장 설치 전

• 다른 윈도우로 이동이 자유롭지 않음• 오른쪽 Control Key 를 통해서 전환 가능

– 안 될 경우 Ct 기 + Alt + Del

• 게스트 확장은 OS 설치 후 설치

Page 26: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 26

Flow Description

OS 설치

선택

Page 27: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 27

Flow Description

OS 설치

Click!

Page 28: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 28

Flow Description

OS 설치

Click!

Click!

Page 29: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 29

Flow Description

OS 설치

Click!

확인

Page 30: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 30

Flow Description

OS 설치

Click!

확인

Page 31: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 31

Flow Description

OS 설치

Click!

Click!

Page 32: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 32

Flow Description

OS 설치

Click!

Click!

Page 33: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 33

Flow Description

OS 설치

Click!

Click!

Page 34: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 34

Flow Description

OS 설치

크기 입력

Click!

선택-목록에 있음 ( 리스트에서 선택 할 것 !!)

Click!

Page 35: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

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) – 부 파티션 , 마운트 위치에서 타이핑

Page 36: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 36

Flow Description

OS 설치 – swap partition

Click!

크기 입력- 참고 표에 있음

Click!

Click!

Page 37: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 37

Flow Description

OS 설치

• “/” 확인– swap 제외

• 모두 소문자

Click!

Page 38: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 38

Flow Description

OS 설치

계정 ID

Password• Login 시 필요• 꼭 기억해 둘 것 !

임의 입력 가능

Click!

Click!

Page 39: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 39

Flow Description

OS 설치

Click!

Page 40: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 40

Flow Description

OS 설치

Page 41: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 41

Flow Description

OS 설정

Click!

Page 42: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 42

Flow Description

OS 설정 - Login• 설치 시 입력했던 계정 ID

– 클릭하면 password 입력 창 보임– 설치 시 입력했던 password 입력

Click!

Page 43: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 43

Flow Description

OS 설정

Click!

Page 44: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 44

Flow Description

OS 설정 – 터미널 실행

Double Click!

Page 45: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

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 입력

Page 46: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 46

Flow Description

OS 설정 – 게스트 확장 설치

• 원활한 마우스 포인터 이동을 위함

Click!

Page 47: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 47

Flow Description

OS 설정 – 게스트 확장 설치- cd /media/cdrom <Enter>- sudo sh VBoxLinuxAdditions-x86.run <Enter>

Page 48: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 48

Flow Description

OS 설정 – 게스트 확장 설치- 설치 완료- init 6 <Enter> ( 재부팅 )- 재부팅 후 -> 마우스 화면 전환 자동

Page 49: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 49

Flow Description

OS 설정 – 공유 폴더 생성

Windows 에서 임의의 폴더 생성

Linux 에서 사용될 공유폴더 생성-cd /work work partition- mkdir share 공유폴더

Page 50: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 50

Flow Description

OS 설정 – 공유 폴더 설정

Click!

Page 51: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 51

Flow Description

OS 설정 – 공유 폴더 설정

Click!

Click!

Click!

Page 52: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 52

Flow Description

OS 설정 – 공유 폴더 설정

Click!

Page 53: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 53

Flow Description

OS 설정 – 공유 폴더 설정

- cd /mnt <Endter>- Mount –t vboxsf [Virtualbox 에서 지정한 폴더 이름 ] [ 리눅스 상에서 공유될 폴더 경로 및 이름 ]

공유 폴더 mount

Page 54: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 54

Flow Description

OS 설정 – 공유 폴더 설정

Page 55: MMI nameProject nameAndroidPage No# Flow Description Android (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

Page 56: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 56

Flow Description

Build 환경 – java5 설치

• cd /etc/apt/• gedit sources.list• 한 번에 gedit /etc/apt/sources.list <Enter> 로 가능

Page 57: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

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

Page 58: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 58

Flow Description

Build 환경 – java5 설치

• apt-get update <Enter>• apt-get install sun-java5-jdk

Page 59: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

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 확인 )

Page 60: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 60

Flow Description

Build 환경 – valgrind 설치

• sudo apt-get install valgrind– 실행 파일의 디버깅과 프로파일링을 위한 툴

Page 61: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 61

Flow Description

Build 환경 – repo 설치

• cd /usr/bin/• curl http://android.git.kernel.org/repo > ./repo

NSA :: 소스 받을 필요 없음

Page 62: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 62

Flow Description

Build 환경 – repo 권한 변경

• chmod 777 repo 또는 chmod a+w repo

NSA :: 소스 받을 필요 없음

Page 63: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 63

Flow Description

Build 환경 – 소스 받기

• 소스 받을 폴더 생성– cd /work– mkdir 폴더명– cd 폴더명

Page 64: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

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 :: 소스 받을 필요 없음

Page 65: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 65

Flow Description

Build 환경 – 소스 받기

• Project 의 이름은 바꿔도 됨 • android_kernel , froyo 폴더 경로와 이름 맞춤• 다운받아놓은 커널과 소스 파일을 해당 경로에 맞춰서 압축 해제

Page 66: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 66

Flow Description

Build 환경 – 소스 받기

• 소스 받는 중 위와 같은 질문을 받음 ( 기억하기 쉬운 것으로 입력 ) • Repo initialized in 경로명 정상적으로 완료됨을 의미

NSA :: 소스 받을 필요 없음

Page 67: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 67

Flow Description

Build 환경 – 소스 받기

• repo sync

NSA :: 소스 받을 필요 없음

Page 68: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

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 으로 다운그레이드 해야 함

Page 69: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 69

Flow Description

Build 환경 – 알려진 Build 문제 해결

• sudo apt-get install g++-4.3

Page 70: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

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

Page 71: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 71

Flow Description

Build

• 소스가 있는 경로로 이동 ( 예 )cd /work/eclair/buildtest)• ls 로 확인

– Makefile 이 존재– 기타 폴더들이 존재

Page 72: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

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

생략

Page 73: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 73

Flow Description

Build

• 빌드가 완료됨– system.img– ramdisk.img– userdata.img

Page 74: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 74

Flow Description

Build 결과

• 기존에 없던 “ out” 폴더 생성됨

Page 75: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

MMI name Project name Android Page No 75

Flow Description

Build 결과

• cd /out/target/product/generic • ls -als• ramdisk.img , system.img, userdata.img 확인 가능

Page 76: MMI nameProject nameAndroidPage No# Flow Description Android (OS )

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