device/ 에 새로운 기기를 추가하는것으로 시작해보자.
$ cd ~/aosp6.0 (aosp가 빌드된곳 여기서는 aosp6.0 이라 한다.) $ . build/envsetup.sh $ mkdir -p device/corp/whkongpad // 보통 회사이름 안에 기기 이름을 적는다. $ cd device/corp/whkongpad |
whkongpad 에서 사용할 여러가지 AOSP 요소를 써 넣을 AndroidProducts.mk 파일 만들기
파일내용: PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/full_whkongpad.mk //연결할mk파일 이름을 넣는다. |
full_whkongpad.mk 만들기
파일내용: $(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk) //다른 제품의 설명을 기초하여 빌드를 진행하도록 $(call inherit-product, $(SRC_TARGET_DIR)/product/full.mk) // inherit-product 함수를 사용한다. DEVICE_PACKAGE_OVERLAYS := //AOSP 소스에 적용될 오버레이(overlay)의 기반이 될 디렉토리를 지정하여 기본 패키지 // 자원을 기기에 특화된 자원으로 대체할 수 있게 해준다. (뭔소리임?? ㅡ,.ㅡ) PRODUCT_PACKAGES += // 상속한 설정 정보에 포함되 ㄴ패키지 외에 더 추가할 패키지 직접 지정 PRODUCT_COPY_FILES += //대상 파일시스템에 복사할 파일과 그 파일을 보사해올 경로를 지정 PRODUCT_NAME := full_whkongpad //lunch 에 인자로 넘길때 설정할 수 있는 TARGET_PRODUCT PRODUCT_DEVICE := whkongpad // 고객에에 전달되는 완제품의 이름 // PRODUCT_DEVICE의 값과 같은 이름의 디렉터리가 존재해야한다. //BoardConfig.mk 파일을 이 폴더에서 찾음 PRODUCT_MODEL := Full Android on WhkongPad //About the phone 메뉴에 표시되는 모델명 |
BoardConfig.mk 만들기
파일내용: TARGET_NO_KERNEL := true TARGET_NO_BOOTLOADER := true TARGET_CPU_ABI := armeabi TARGET_ARCH := arm TARGET_ARCH_VARIANT := armv7-a TARGET_CPU_VARIANT := generic BOARD_USES_GENERIC_AUDIO := true USE_CAMERA_STUB := true
#현실적인 예는 device/asus/grouper/BoardConfigCommon.mk 를 참고 |
Android.mk 만들기
기기의 디렉터리에 포함 시킬 모든 모듈을 빌드하기 위해서는 Androidl.mk 가 필요하다.
파일내용: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) ifneq ($(filter coyotepad,$(TARGET_DEVICE)),) include $(call all-makefiles-under,&(LOCAL_PATH)) endif |
vendorsetup.sh 만들기
파일내용: add_lunch_combo full_whkongpad-eng 저장후 실행할수 있게 쉘: $ chmod 755 vendorsetup.sh |
변경점 확인하기
$ croot //루트로이동 $ . build/envsetup.sh $ lunch 이제 자신이 추가한 full_whkong-eng가 있는것을 확인할 수 있다. |
'임베디드 > 안드로이드 포팅' 카테고리의 다른 글
안드로이드 포팅 5-1 하드웨어 기초 (0) | 2017.08.30 |
---|---|
안드로이드 포팅 4-1 AOSP 빌드 시스템 (0) | 2017.08.29 |
안드로이드 포팅 2-1 ADB 사용하기 (0) | 2017.07.26 |
안드로이드 포팅 1-2 AOSP 빌드하기 (1) | 2017.07.25 |
안드로이드 포팅 1-1 AOSP빌드 준비하기 (0) | 2017.07.25 |