지금까지 알아낸 앱추가 방법은 두가지가 있다.


첫 째는 안드로이드 어플리케이션 프로젝트를 통째로 추가하여 빌드하기

둘 째는 APK파일을 추가하여 빌드하는 방법인다.


기본적으로 두가지 방법다 당연히 Android.mk파일이 필요하다.



보통 첫번째 방법의 Android.mk파일의 기본적인 내용은 이렇다.


LOCAL_MODULE_TAGS := optional   여기서 optional은 말그대로 옵션이기 때문에 따로 설치하겠다고 설정을 하지 않는다면

                                                 설치되지 않는다.

LOCAL_PACKAGE_NAME := HelloWorld     해당 어플의 이름이 되기 때문에 꼭 기억을 해줘야 한다.



기본 어플들은 AOSP를 받으면 packages/apps 에 존재한다. 이 어플들중 optional로 되어있는것은 빌드시 포함되지 않는다.

포함시키고 싶다면

<AOSP루트>/build/target/product/core.mk 에 추가해줘야 한다.


하지만 이방식은 좋지 않다.

새 AOSP버전이 나올 때마다 매번 파일을 수정해야 하기 때문이다.


그래서 수정한 내용은 될수 있으면 각 기기에 관한 폴더에 생성해준다.

<AOSP루트>/device/<업체>/<기기명>/ 의 위치에 모아놓는다. 



두 번째 방법의 Android.mk파일의 기본적인 내용은 이렇다.


파일의 위치는 packages/apps 에 있어도 무관하나 기기별로 관리하기 위해 다음과 같이 한다.

<AOSP루트>/device/<업체>/<기기명>/[YOUR_APP]/Android.mk


<MKV.apk 파일을 이용한 예제>


중요한것만 살펴보자면

LOCAL_MODULE_TAGS := optional     위에서 설명함.

LOCAL_MODULE := MKV    이 모듈의 이름이된다.

LOCAL_SRC_FILES := MKV.apk    apk파일의 이름을 넣는다.


그리고 마지막으로

<AOSP루트>/device/<업체>/<기기명>/<기기명.mk> 파일에(업체마다 위치와 이름이 다를 수 있다.)

MKV를 추가한다.


PRODUCT_PACKAGES += MKV 를 추가하여 해당 어플을 추가해 준다. 

optional로 되어있을 경우에는 이렇게 추가를 해줘야 한다.


그후 빌드를 하면 어플이 추가되어 파일이 떨어진다.


만약 이미 빌드를 한후에 해당 모듈을 추가한 것 이라면 

$make MKV(모듈이름) 을 입력하면 모듈이 빌드가 되고

그후

$make snod 를 입력하면 수정된 사항만 반영하여 이미지파일을 생성한다.



+ Recent posts