안드로이드는 구글이 주도하는 공개형 운영체제이자 소프트웨어 스택으로, 구글의 플랫폼 전략과 리눅스 계열의 개방형 개발 관행이 만나는 대표 사례다.[1][3]
이 문서는 안드로이드를 단일 앱 실행 환경이 아니라, 여러 운영체제 계층과 기기 범주를 묶는 공통 플랫폼으로 본다. 이런 관점은 안드로이드가 어떻게 기기별 차이를 흡수하면서도 같은 기본 규칙을 유지하는지 이해하는 데 도움이 된다.[1][2]
1. 개요
AOSP는 Android 플랫폼의 공개 소스 코드와 기초 구성요소를 제공하며, 이동통신사와 OEM, 개발자가 이를 바탕으로 각자의 제품을 구성할 수 있게 한다.[1] 안드로이드의 출발점은 모바일 기기였지만, 지금은 스마트 기기 전반을 포괄하는 쪽으로 확장되었다.[2]
Android는 스마트폰, 태블릿, 웨어러블, TV, 자동차, 연결된 기기까지 넓은 범주에서 사용된다.[2] 이 때문에 안드로이드는 단일 제품이 아니라 여러 기기 계열을 묶는 플랫폼으로 이해하는 편이 정확하다.[1][2] 같은 플랫폼 규칙을 공유하기 때문에 모바일 기기와 같은 범주를 함께 설명할 때도 연결성이 높다.[1]
2. 구조
3. 개발 환경
Android 앱 개발의 공식 IDE는 Android Studio이다.[4] Android Studio는 앱 개발용 환경을 제공하며 코드 작성, 빌드, 테스트 작업을 한 흐름으로 다루도록 돕는다.[4]
안드로이드 앱은 일반적으로 앱과 모바일 애플리케이션 문맥에서 다뤄지지만, 실제 개발 흐름은 플랫폼 구조와 강하게 연결된다.[1][4] Android 플랫폼의 개방성 덕분에 개발자는 단일 도구에만 묶이지 않고 다양한 빌드와 배포 흐름과도 연결할 수 있다.[1][4] 이 점에서 Android Studio는 구글의 플랫폼 생태계 안에서 핵심적인 진입점이 된다.[4]