본문 바로가기

AOSP

AOSP 공부를 시작하며

대부분 안드로이드 개발 공부를 시작한다고 하면 모바일 애플리케이션을 떠오릴 것이고 물론 나도 그렇게 생각하였다. 

그리고 막상 공부를 하려고 해도 AOSP 공식 문서 외에는 제대로된 정보가 없어 보였고 AOSP 관련 블로그에서는 어떻게 개발을 시작해야할지 로드맵 정도만 알려주었다.

 

그래서 이빨이 없으면 잇몸으로라도 공부해겠다라고 생각하여 몇몇 개발 블로그에서 제공하는 로드맵에서 공통적으로 요구하는 사항들을 살펴보고 공부해 나갈 계획이다.

 

우선 AOSP가 제대로 무엇인지 어떤 것을 공부해야할지 알아보겠다.

AOSP란?

AOSP(Android Open Source Project)는 구글에서 진행하는 오프소스 프로젝트로 프로젝트의 소스코드로 원하는 기능을 넣어 개발 배포 관리를 함으로써 ROM(커스텀 안드로이드 운영체제)을 만들 수 있게 해준다.

 

대표적으로 커스텀 안드로이드 운영체제로는 LineageOS, GrapheneOS와 같은 것들이 존재한다.

 

커뮤니티에서난 블로그를 보면 AOSP는 내용이 워낙 방대하기 때문에 공부하기 전 큰그림에 대해서 먼저 그려놓고 채워가는 형식으로 공부하라고 권장했다. 그래서 기본 지식 또는 AOSP의 구조와 같은 개념을 먼저 공부할 예정이다. 

 

AOSP 개발 공부 시 해야할 것

  • java, c++ 리눅스 운영체제 이해
  • 안드로이드 개발 기본 이해(activities, intents, layouts, android app lifecycle, 개발 컨셉)
  • AOSP의 구조(커널, HAL, native lib, runtime env), 컴포넌트의 이해, 레이어들의 상호작용 방법
  • AOSP 코드 빌드, 설정 조정, 커스터마이징 AOSP
  • 샘플 프로젝트 혹은 코드를 탐구하기 또는 이것저것 코드를 수정하여 실험
  • XDA Developers Forum 둘러보기(안드로이드 전문가들이 있음)

앞으로 무엇을 해야할지 조사한 내용 기반으로 AOSP에 대해서 공부할 계획이다.

 

참고

https://source.android.com/docs/setup/about

 

AOSP 개요  |  Android 오픈소스 프로젝트  |  Android Open Source Project

AOSP 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android는 여러 폼 팩터를 사용하는 다양한 기기를 위한 운영체제입니다. Android의 문서 및 소스 코드

source.android.com

 

https://aospinsight.com/how-to-start-aosp-development/

 

How to start AOSP development - AOSP Insight

There're lots of websites, books, videos and articles to read and start Android development. But to work on AOSP (Android Open Source Project) you can't find that much information except Google docs which sometimes makes you confused. So, what should you d

aospinsight.com

https://sourcebae.com/blog/how-do-i-start-learning-aosp-android-open-source-project/

 

How Do I Start Learning AOSP (Android Open Source Project)? – SourceBae

How Do I Start Learning AOSP (Android Open Source Project)? Welcome to the world of Android Open Source Project (AOSP), where you can delve into the inner workings of Android and unleash your creativity. Whether you’re an aspiring developer or a tech ent

sourcebae.com