모듈 컴파일

1. android 폴더에서 화면 sh 파일을 실행한다.
  $ build/envsetup.sh --> 사용할 api들이 등록되게 된다.

2. android 폴더에서 컴파일하고 싶은 모둘의 경로로 컴파일을 한다.
  $ mmm packages/apps/Phone --> 위 경로에 Android.mk 파일이 존재해야 컴파일이 된다. 최하위 폴더에 있는 Android.mk 파일의 경로를 설정해야 된다. 보통 하위 폴더를 들어가보면 mk파일들이 있는 경우가 많다.

3. 2에서 적용된 apk를 적용한 System이미지를 만든다.
  $ make snod --> build_target.sh 를 실행하여 만들 수 있으나 위 명령이 시간을 줄여준다.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
모듈 빌드하기
출처 : http://www.kaisyu.com/notes/google-android/android-partial-module-build


$ANDROID_HOME/build/envsetup.sh 스크립트를 사용하면 간편하게 특정 module만 build할 수 있다. (envsetup.sh에 대한 더 상세한 내용은 여기를 참고하자.)
먼저 shell 상에서 위 스크립트를 현재 환경으로 load 해준다. ($ANDROID_HOME 환경 변수는 Android full source root 경로 값을 저장하고 있는 것으로 미리 정의되어 있어야 한다.)
$ . $ANDROID_HOME/build/envsetup.sh
자주 사용한다면 그냥 .profile 이나 .bashrc 같은 파일에 추가해두는 것도 좋다.
아무튼, 위 스크립트에서 제공하는 함수들 중 m, mm, mmm 세 가지를 사용하게 된다.
m - 현재 경로를 기준으로 소스 트리의 최상위 경로로 이동한 후 make를 실행해준다.
mm - 현재 경로를 기준으로 가장 가까운 단위 모듈을 찾아서 그 모듈만 build 해준다.
mmm - 파라미터로 주어진 경로들에 대해 단위 모듈 build를 해준다. 마지막에 snod를 추가할 경우 System image 파일까지 새로 생성해준다.
예를 들어보자.
Email application package만 새로 build 하고 싶은 경우 다음과 같이 해줄 수 있다.
$ cd $ANDROID_HOME/packages/apps/Email
$ mm
혹은 mmm을 사용해서 package build 후 System image까지 새로 생성하는 방법도 있다.
$ cd $ANDROID_HOME/packages/apps/Email
$ mmm . snod

'programmer > android' 카테고리의 다른 글

가로/세로 모드  (0) 2011.08.02
[우분투] 자바 설치  (0) 2011.08.01
setOnClickListener시 Force close 발생하는 이유  (0) 2011.08.01
java.net.SocketException: Permission denied 에러 처리  (0) 2011.08.01
FileDialog  (0) 2011.08.01

+ Recent posts