Android OS

안드로이드 포팅 : AOSP 빌드 시스템

Jay.P Morgan 2024. 11. 7. 04:46

 

  1.  안드로이드 포팅: AOSP 빌드 시스템

 

안드로이드 빌드 시스템의 설정방식안드로이드 셸 환경에서 envsetup.sh와 lunch로 동적으로 생성하거나, Buildspec.mk 파일로 미리 정의해둔 변수들을 활용할 수 있다.

또한 빌드 시스템은 소스파일과 같은위치에 객체파일 등의 중간 출력을 생성하지 않고, 모든 생성물은 out/ 디렉터리에 저장한다.

 

  1.1  Android Build System

Envsetup.sh와 lunch는 명령을 실행한 셀에서 빌드할 땐 두 명령을 수행해야한다.

위 그림에서 묘사한대로 빌드 시스템 입장에서 타당한 진입점을 /build/core/ 디렉터리의 main.mk 파일이다.

이 파일은 최상의 Makefile을 호출한다.

 

 

 

  1.2  Build Target Setting (빌드 타겟 설정)

빌드할 타겟은 [BUILD]-[BUILDTYPE] 형식으로 생성된다.

 

Build Type

a. User

 제한된 접근권한이 적용, 제품적용 타겟 빌드시 사용한다.

 

b. Userdebug

 user타입과 비슷하나 root권한이 적용되고 디버깅이 가능하다.

 

c. Eng

 추가적인 디버깅 툴이 설치되고, 빌드 시 최적화를 제거하여 디버깅을 용이하게 한다.

개발 타겟 빌드 시 사용한다.

출처

http://shincdevnote.blogspot.com/2018/11/aosp-build.html

안드로이드 포팅 4-1 AOSP 빌드 시스템

다른 빌드 시스템과의 차이점  AOSP는 대부분의 make 기반 빌드 시스템과는 다르게 안드로이드 빌드 시스템은 재귀적 makefile을 사용하지 않는다는 점이다.  대신 모든 디렉터리와 하위 디렉터리를 탐색해서 An..

gamdekong.tistory.com

 

'Android OS' 카테고리의 다른 글

AIDL HAL 인터페이스  (0) 2024.11.12
Ubuntu에서 NDK 설치, 설정, 실행해보기  (3) 2024.11.07
Android Boot & Init  (3) 2024.11.01
Android Binder  (1) 2024.11.01
Android.mk  (0) 2024.10.31