Android 개발 준비

Android는 다양한 폼 팩터를 사용하는 다양한 기기에 사용할 수 있도록 제작된 오픈소스 소프트웨어 스택입니다. Android의 주된 목표는 이동통신사, OEM 및 개발자가 혁신적인 아이디어를 실현하고 사용자를 위한 모바일 환경을 개선하는 실용적인 제품을 출시할 수 있는 개방형 소프트웨어 플랫폼을 만드는 것입니다.

Android는 한 업체가 다른 업체의 혁신을 제한하거나 통제하는 중앙 장애 지점이 없도록 설계되었습니다. 그 결과, 맞춤설정 및 포팅을 위해 소스 코드가 공개된 프로덕션 수준의 품질을 갖춘 소비자 제품을 만들 수 있는 것입니다.

Android 프레임워크 세부정보
그림 1. Android 스택

관리 철학

Google에서 이끄는 Open Handset Alliance로 알려진 기업들이 Android를 처음 만들었습니다. 현재 OHA의 초기 회원사와 이후 회원사를 비롯하여 많은 기업에서 Android에 집중적으로 투자하고 있습니다. 이러한 기업에서는 Android를 개선하고 Android 기기를 시장에 출시할 수 있도록 상당한 엔지니어링 리소스를 할당해 왔습니다.

이러한 기업들은 오픈 플랫폼이 필요하다고 생각하기 때문에 Android에 지금까지 투자해 왔습니다. Android는 처음부터 분명하게 오픈소스 프로젝트(무료 소프트웨어와는 다름)로 진행되었으며, 동일한 필요를 느낀 한 그룹의 기업들이 리소스를 모아 공유 제품을 하나로 구현하기 위해 협업해 왔습니다. 무엇보다 Android의 철학은 실용성입니다. 목표는 각 참여업체가 맞춤설정할 수 있는 공유 제품입니다.

물론 무분별한 맞춤설정이 호환되지 않는 구현으로 이어질 수 있습니다. 이를 방지하기 위해 AOSP(Android 오픈소스 프로젝트)는 Android 호환성 프로그램을 유지해 오고 있습니다. 이 프로그램에서는 *Android 호환*의 의미와 기기 제조업체에 호환 가능한 상태를 이루는 데 필요한 사항을 상세히 설명합니다. 누구나 어떤 목적으로든 Android 소스 코드를 사용할 수 있으며 합법적인 모든 사용을 환영합니다. 하지만 Android를 기반으로 빌드되는 애플리케이션이 공유 생태계에 참여하기 위해서는 기기 제조업체가 Android 호환성 프로그램에 참여해야 합니다.

AOSP는 Android를 유지하고 추가로 개발하는 Google에서 주도합니다. Android는 여러 하위 프로젝트로 구성되지만, AOSP에서는 프로젝트 관리만 다룹니다. Google은 Android를 배포, 사양, 교체 가능한 부품이 아닌 하나의 전체적인 소프트웨어 제품으로 보고 관리합니다. Google의 의도는 기기 제조업체가 사양을 구현하거나 배포를 관리하는 것이 아닌 Android를 기기로 포팅하는 것입니다.