|
Mac OS에서 Android 빌드하기
Android 소스설명에 Mac OS 환경에 대한 언급이 있어서...호기심 차원에서 한번
빌드 환경 구축 및 빌드를 해 봤습니다.
Mac OS에서 구축하시는 분들 참고하세요!
반드시 필요한 사항:
• INTEL X86기반의 MAC"Case-sensitive Journaled HFS+" 파일 시스템: 이게 Mac에서 가장 중요합니다. Mac을 처음 사면 대부분 Journaled HFS+로 포맷되어 있기때문에 결국에 외장하드에 있는 데이터를 다 날리고 새로 포맷을 해야 했습니다. Case-sensitive가 아니면 Android 빌드 시작도 못합니다.
1. XCode 설치하기, http://developer.apple.com, 저는 IPone SDK를 설치 했기때문에
2. MacPorts 설치하기
1. http://www.macports.org/ 에서 소스를 다운받아 압축을 풀어둡니다.
해당 디렉토리로 이동합니다. 저는 /MacPorts-1.6.0 입니다.
2. 다음과 같은 순서로 MacPorts를 컴파일 합니다. $ ./configure $ make $ sudo make install $ sudo port selfupdate -> 이게 시간이 오래 걸립니다.
3. 주의, ‘sudo port selfupdate’ 명령 실행시 에러가 발생하는데 이것은
Path 설정이 잘못되서 문제가 되는 것입니다. 따라서 Path를 추가해야 합니다. $ echo $PATH 명령을 실행시켜 현재 패스를 확인합니다. ‘/opt/local/bin’패스가 포함되어 있는지 확인하고 없으면 추가 합니다.
$HOME/.bash_profile에 아래와 같이 추가합니다.
"export PATH=/opt/local/bin:$PATH"
저는 .bash_profile이 어디에 있는지 도대체 찾을 수 없어서 그냥 shell에서 실행시켰습니다.
3. GNU make를 업그레이 합니다. $ sudo port install gmake $ sudo ln -s gmake /opt/local/bin/make
4. libsdl 설치합니다. $ sudo port install libsdl
5. .bash_profile 파일에 아래와 같이 추가하라고 했으나 저는 역시 몰라서 그냥 넘어감. 큰 문제는 안생김 # set the number of open files to be 1024 ulimit -S -n 1024
6. 다음과 같이 추가 패키지를 설치합니다. $ sudo port install xemacs +sumo $ sudo port install gimp
Git 설치
Android 소스를 가져오기에서 사용하는 소스코드 컨트롤 소프트웨어 입니다. 본 과정중 가장 혼란을 일으켰던 툴입니다. 소스를 가져와 빌드를 하고 패스를 설정하면 제대로 소스를 가져와야하는데 Git가 제대로 설정되지 않아서 소스를 가져오지 못했습니다. 그래서 바이너리 설치본을 설치하고 나서 제대로 됐습니다.
따라서 왠만하면 Git 설치본을 다운받아서 설치하는 것이 더 효과적입니다.
Git 와 GNU Privacy Guard 설치
1. sudo port install gnupg 로 gnupg 설치
2. Git 설치 - http://git.or.cz/
Repo script 다운로드
이제부터 본격적으로 다운로드 작업이 시작됩니다.:
1. repo script를 다운로드 받고 실행가능하도록 합니다. $ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
2. 소스를 다운로드 받을 디렉토리를 만들고 해당 디렉토리로 이동합니다.: $ mkdir mydroid $ cd mydroid
3. ‘repo init’ 명령으로 Android 소스를 받기 시작합니다. $ repo init -u git://android.git.kernel.org/platform/manifest.git
4. 제대로 동작한다면 gmail계정이나 이메일을 요구할 것입니다.
다음과 같은 메시지가 나왔다면 소스 받기 준비에 성공한 것입니다.
repo initialized in /mydroid
Git를 제대로 설치하고 Repo를 제대로 받았는데도 다시 3번을 하는데 또 에러가 나내요. 소스를 가져온게 신기하네요.
소스 가져오기
이제 소스를 가져오는 명령을 실행시킵니다.
$ repo sync
소스를 가져오는데는 속도에 따라 오랜 시간이 걸리기도 합니다. 다음 그림은 소스를 가져오는 화면 입니다.
Android 빌드하기
안드로이드를 빌드하는 것은 의외로 간단합니다. 해당 디렉토리로 이동한 후 make:
$ cd ~/mydroid
$ make
build/core/product_congig.mk
위 mk 파일에 타겟을 설정합니다. 현재는 generic으로 설정되어 있습니다.
ifeq ($(strip $(TARGET_PRODUCT)),)
TARGET_PRODUCT := generic
endif
빌드된 이미지
안드로이드를 빌드하는 것은 의외로 간단합니다.
$ cd ~/myandroid
$ make
위의 그림은 이미지를 빌드한 후 생성된 이미지를 지우고 다시 빌드했을때 생성된 이미지 입니다. 기본 설정된 상태에서는 generic으로 타겟이 설정이 된 것으로 알수 있습니다. Target을 해당 타겟으로 설정하고(이부분을 사용하시는 개발 보드에 맞게 커널을 설정해야 할 것으로 예상합니다.) 빌드해야 제대로 커널이 만들어 질 것입니다.
빌드된 이미지
이것으로 제대로 빌드된 것을 확인할 수 있습니다. 하지만 타겟이 제대로 설정되지 않았다면 실행시켜볼 수 없다는 아쉬움이 남네요. 그래서 에뮬레이터를 실행시켜 그 아쉬움을 대신합니다.
Microsoft Windows Embedded MVP Youngho Ra(ratharn@naver.com) www.embeddedce.com |