본문 바로가기

Android/Kernel

안드로이드 커널 개발 및 빌드 환경 설정 - 2

안드로이드 커널 개발 및 빌드 환경 설정 - 2

Eclipse를 사용한 AOSP프레임워크 개발



안드로이드 KitKat(4.4.4_r1) 플랫폼 개발을 직접 하면서 정리한 개발 환경 설정 방법입니다.

커널 개발 및 빌드 답게 굉장히 까다롭고 민감하므로 주의하면서 이 글을 읽어주시기 바랍니다!

이 글은 안드로이드 커널 개발 및 빌드 환경 설정 - 1 에서 이어지는 글입니다.




Step 0> 사전 준비



준비해야 할 것들은 다음과 같습니다.

한 항목도 놓치면 안됩니다!


  • 안드로이드 커널 개발 및 빌드 환경 설정 - 1에 나열된 모든 요구사항. 그리고 설치한 모든 프로그램

  • 다운로드 받은 AOSP프로젝트

  • AOSP프로젝트를 lunch없이 make수행

    • 터미널에서 cd명령으로 안드로이드 소스 폴더로 이동

    • source build/envsetup.sh

    • make

  • Eclipse Juno 또는 Kepler

  • Eclipse에 Android SDK Plugin설치




Step 1> .classpath 파일 복사



안드로이드 커널 소스(AOSP소스)를 Eclipse로 간편하게 Import하기 위한 정보는 .classpath파일이 갖고 있습니다.

안드로이드 풀 소스를 받은 디렉토리부터 스크린샷대로 따라가면 됩니다.













한 줄 요약: 소스디렉토리/development/ide/eclipse/.classpath 파일을 소스디렉토리/.classpath파일이 되도록 복사하는 것입니다.






Step 2> eclipse.ini수정



AOSP소스는 엄청나게 많은 소스를 포함하기 때문에 Import및 build중 out of memory 에러가 발생됩니다.

따라서 Eclipse의 메모리 사용 가능량을 늘려주어야 합니다.






선택된 부분을 스크린샷과 같이 수정해 주세요





Step 3> 프로젝트 Import



이제 AOSP소스를 올리기 위한 준비는 끝났습니다.

스크린샷 대로 진행합니다.




새 Java Project만들기 선택


Use default location을 체크 해제하고 Browse버튼을 클릭


안드로이드 소스를 다운받은 폴더로 이동한 뒤 OK버튼을 누릅니다



마지막으로

이제 Finish버튼을 누르면 몇분 정도 Import 및 build 과정이 지나가고 Import가 모두 끝납니다.


Import가 끝나면 100개 내외의 Error와 수많은 Warning이 발생할 것입니다.

이는 다양한 언어로 구성되는 AOSP의 모든 소스가 Eclipse로 관리되는 것이 아니기에 발생하는 현상입니다.

따라서 실제 개발에는 아무 문제가 없으므로 무시하시면 됩니다.




Step 4> 소스코드 수정 및 빌드



이제 일반 자바 프로젝트처럼 편리한 자동완성을 사용하며 소스코드를 수정할 수 있습니다.

다만 변경한 소스는 터미널에서 직접 make명령을 내려야 build됩니다.

Eclipse의 build는 개발의 편의만 돕습니다. 소스를 build하지 않습니다!


터미널에서 안드로이드 소스를 받은 폴더로 이동하고

source build/envsetup.sh

make -j6 


명령을 내리면 변경된 소스가 build됩니다. (-j 옆의 숫자는 CPU 코어 수 x 1.5 정도가 적절합니다)