Android OS - AOSP 개요

최서정·2024년 11월 13일

Android

목록 보기
2/3

https://source.android.com/docs/setup/about?hl=ko

Android OS 공식 문서를 정리한 글입니다.

AOSP 개요

AOSP – Android Open Source Project

Android의 문서 및 소스 코드는 Android 오픈소스 프로젝트로 누구나 사용 가능
AOSP를 사용하여 자체 기기의 Android OS 맞춤 변형 가능

필수 용어

Android 앱 개발자

  • Android 앱 또는 Android에서 실행되는 애플리케이션을 작성
    1. Android 퍼스트 파티 앱 개발자
    : AOSP 시스템 API에 액세스할 수 있고 권한이 있는 앱과 기기 제조업체 앱을 작성하는 Android 앱 개발자
    2. Android 서드 파티 앱 개발자
    : Android의 공개 SDK만 사용하여 Android 앱을 만드는 Android 앱 개발자
    : Android용 서드 파티 앱을 개발하려면 developers.android.com 을 참고

Android 디버그 브리지(adb)

  • 워크스테이션이 가상 기기나 소프트웨어 에뮬레이션 기기, 실제 기기와 통신할 수 있는 명령줄 도구 (adb)

Android 호환 기기

  • Android SDK 및 NDK를 사용하여 서드 파티 개발자( Android 의 공개 SDK 만 사용하여 Android 앱을 만드는 개발자 ) 가 작성한 서드 파티 앱을 실행할 수 있는 기기
  • Android 호환 기기는 호환성 정의 문서(CDD)의 요구사항을 준수하고 호환성 테스트 모음(CTS)을 통과해야함.
  • Android 호환 기기는 Android 생태계에 참여할 수 있음
  • 여기에는 Android Play 스토어의 잠재적 라이선스와 Google 모바일 서비스(GMS) 애플리케이션 및 API 모음 관련 잠재적 라이선스, Android 상표 사용이 포함
  • 누구나 Android 소스 코드를 사용할 수 있지만 Android 생태계의 일부로 간주되려면 기기가 Android와 호환되어야 함.

승인자

  • 플랫폼의 기술 및 설계에 상당히 기여한 AOSP 커뮤니티의 숙련된 회원
  • 코드 검토 과정에서 승인자는 변경사항을 포함할지 결정
  • 프로젝트 책임자(일반적으로 Google에서 고용)가 승인자를 선택하며 특정 AOSP 부분에서 전문성을 입증하는 경우 인증자를 승인자 지위로 승진시키기도 함.

호환성 정의 문서(CDD)

  • Android 호환 기기의 하드웨어 및 소프트웨어 요구사항이 나와 있는 문서입니다.

기여자

  • AOSP 소스 코드에 기여한 사람
  • 기여자는 Google 직원, 다른 회사 직원, 회사와 제휴하지 않은 개인일 수 있음
  • 모든 AOSP 기여자는 동일한 도구를 사용하고 동일한 코드 검토 과정을 따르며 동일한 코딩 스타일을 따름.
  • 기여자가 되어야 AOSP를 사용할 수 있는 것은 아님.
  • 다른 사람이 사용하도록 코드를 기여하지 않아도 AOSP를 다운로드하고 필요에 따라 수정한 후 기기에 배포할 수 있음.
    참고: AOSP에는 커밋한 사용자 개념이 없음. 승인자의 승인을 얻기 위해 누구나 AOSP에 기여를 제출할 수 있음.

Google에서 허용하는 코드 기여의 유형에는 제한이 있음.

  • 예로 전체 C++ 기반 환경과 같은 대체 애플리케이션 API를 기여할 수 있음.
  • Android는 ART 런타임에서 애플리케이션을 실행하도록 권장하므로 Google은 이러한 기여를 거부
  • 마찬가지로 라이선스 목표와 호환되지 않는 GPL 또는 LGPL 라이브러리와 같은 기여도 허용되지 않음.

호환성 테스트 모음(CTS)

  • AOSP에서 바이너리로 또는 소스로 다운로드할 수 있는 상용 등급의 무료 테스트 모음
  • CTS는 일상 워크플로에 통합되도록 설계된 일련의 단위 테스트
  • CTS의 목적은 비호환성을 발견하고 개발 과정 내내 소프트웨어의 호환성을 유지하는 것

Cuttlefish

  • Google Cloud Engine과 같은 서드 파티 클라우드 서비스를 사용하여 원격으로 실행할 수 있고 Linux x86 시스템에서 로컬로 실행할 수 있는 구성 가능한 가상 Android 지원 기기

개발자

  • AOSP 맥락에서 개발자는 어떤 방식으로든 AOSP를 사용하는 모든 사람
  • '개발자' 라는 용어는 OEM, 핸드셋 제조업체, 이동통신사, 단일 칩 시스템(SoC) 제작자 등 이 문서를 읽을 수도 있는 다양한 사람을 일반적으로 지칭하는 데 사용됨.

GMS(Google 모바일 서비스)

  • 기기에 사전 설치할 수 있는 Google 앱 및 API 모음입니다.

타겟

  • 특정 모델이나 폼 팩터와 같은 기기의 순열
  • 예를 들어 aosp_cf_x86_64_phone-userdebug는 cuttlefish 에뮬레이터에서 실행되도록 설계되고 디버깅 정보가 포함된 x86 65MB 휴대전화를 나타냄.

인증자

  • AOSP 변경사항을 다운로드하고 인증하는 Android 커뮤니티의 소중한 기여자
  • AOSP에 상당한 양의 고품질 코드를 제출하면 인증자가 되도록 프로젝트 책임자가 요청할 수 있음.

0개의 댓글