지금까지 알아낸 앱추가 방법은 두가지가 있다.
첫 째는 안드로이드 어플리케이션 프로젝트를 통째로 추가하여 빌드하기
둘 째는 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 를 입력하면 수정된 사항만 반영하여 이미지파일을 생성한다.
'임베디드 > 안드로이드 포팅' 카테고리의 다른 글
파일 권한 주기 (0) | 2017.12.12 |
---|---|
유용 명령어 (0) | 2017.12.05 |
기기에 플레싱(flashing)하기 - 기기에 업로드 (1) | 2017.10.11 |
안드로이드 포팅 6-2-1 네이티브 사용자 공간 ( Init ) (0) | 2017.09.01 |
안드로이드 포팅 6-1 네이티브 사용자 공간 ( 파일시스템 ) (0) | 2017.09.01 |