Android 호환성 프로그램 개요

Android의 목표는 개발자가 혁신적인 앱을 빌드할 수 있는 개방형 플랫폼을 구축하는 것입니다.

  • Android 호환성 프로그램은 Android 플랫폼의 기술 세부정보를 정의하고, OEM이 개발자 애플리케이션을 다양한 기기에서 실행할 수 있도록 하는 도구를 제공합니다.
  • Android SDK에는 개발자가 애플리케이션에 필요한 기기 기능을 명확하게 명시할 수 있는 도구가 기본으로 포함되어 있습니다.
  • Google Play와 같은 앱 배포 시스템은 앱을 필터링하여 사용자가 기기와 호환되는 앱만 볼 수 있도록 합니다.

호환되는 Android 기기를 만들어야 하는 이유

사용자는 맞춤설정하기 쉬운 기기를 원함

호환성 생태계

그림 1. 기기 호환성을 갖춘 Android 생태계

휴대전화는 매우 개인적이고 항상 사용하며 늘 곁에 두는 인터넷 접속 게이트웨이라고 할 수 있습니다. 지금까지 기능을 확장하여 맞춤설정하지 않으려는 사용자는 없었습니다. 이러한 이유로 Android는 애프터마켓 애플리케이션을 실행하기 위한 강력한 플랫폼으로 설계되었습니다.

개발자의 수가 Google 직원보다 많음

기기 제조업체에서 사용자가 필요로 하는 소프트웨어를 모두 개발할 수는 없습니다. 사용자가 원하는 앱을 작성하려면 타사 개발자가 필요하므로 Android 오픈소스 프로젝트(AOSP)는 최대한 쉽고 개방적인 애플리케이션 개발을 목표로 합니다.

모두가 일반적인 생태계를 필요로 함

개발자가 버그를 해결하기 위해 작성하는 모든 코드 행이 새로운 기능을 추가한 코드는 아닙니다. 호환되는 휴대기기가 많을수록 해당 기기에서 실행해야 하는 애플리케이션도 많아집니다. 완벽하게 호환되는 Android 기기를 만들면, Android용으로 작성된 방대한 앱 풀의 이점을 누리는 동시에 개발자가 더 많은 앱을 개발하도록 장려할 수 있습니다.

프로그램 목표

Android 호환성 프로그램은 사용자, 개발자, 기기 제조업체를 비롯하여 전체 Android 커뮤니티의 이익을 위해 운영됩니다.

이러한 각 그룹은 서로 의존하는 관계를 맺고 있습니다. 사용자는 다양한 기기와 멋진 앱을 원합니다. 멋진 앱은 앱을 위한 대형 시장과 사용자가 이용 중인 수많은 기기를 보고 동기 부여를 받은 개발자가 만듭니다. 그리고 기기 제조업체는 광범위한 종류의 훌륭한 앱으로 소비자 제품의 가치를 높입니다.

프로그램의 목표는 각 그룹에 도움이 되도록 마련되었습니다.

  • 일관성 있는 애플리케이션 및 하드웨어 환경을 애플리케이션 개발자에게 제공합니다. 강력한 호환성 표준이 없으면 기기가 너무 다양해져서 개발자는 다양한 기기에 맞는 여러 버전의 애플리케이션을 디자인해야 합니다. 호환성 프로그램은 API 및 기능 측면에 관해 호환되는 기기에서 개발자가 기대할 수 있는 사항을 정확하게 정의해줍니다. 개발자는 이 정보를 사용하여 올바른 디자인을 결정하고, 호환되는 모든 기기에서 앱이 원활하게 작동할 것을 확신할 수 있습니다.

  • 소비자에게 일관성 있는 애플리케이션 환경을 제공하도록 지원합니다. 하나의 Android 호환 기기에서 원활하게 실행되는 애플리케이션은 동일한 Android 플랫폼 버전과 호환되는 다른 기기에서도 잘 실행되어야 합니다. Android 기기들은 하드웨어 및 소프트웨어 기능이 서로 다르므로, 호환성 프로그램에서는 적절한 필터링을 구현할 수 있도록 Google Play와 같은 배포 시스템에 필요한 도구도 제공합니다. 따라서 사용자는 실제로 실행할 수 있는 애플리케이션만 보게 됩니다.

  • 기기 제조업체가 호환성을 갖추면서 차별화하도록 지원합니다. Android 호환성 프로그램은 서드 파티 애플리케이션 실행과 관련된 Android의 측면에 중점을 두므로, 기기 제조업체에 호환 가능하면서도 고유한 기기를 제작할 수 있는 유연성을 허용합니다.

  • 호환성과 관련된 비용 및 오버헤드를 최소화합니다. 기기 제조업체는 큰 비용을 들이지 않고도 손쉽게 호환성을 확보할 수 있어야 합니다. 테스트 도구는 다운로드하여 사용할 수 있는 무료 오픈소스로, 기기 개발 프로세스 중에 워크플로를 변경하거나 테스트용 기기를 타사에 보내는 비용을 없애기 위해 자체 테스트에 지속해서 사용하도록 설계되었습니다. 한편, 필수 인증이 없으므로 이와 관련된 비용 및 수수료가 없습니다.

프로그램 구성요소

Android 호환성 프로그램은 다음 세 가지 주요 구성요소로 구성됩니다.

Android 호환성은 무료이며 쉽게 할 수 있음

Android 호환 휴대기기를 만들려면 다음 3단계 프로세스를 따르세요.

  1. Android 소프트웨어 소스 코드를 가져옵니다. 이는 하드웨어로 포팅하는 Android 플랫폼의 소스 코드입니다.
  2. Android CDD(호환성 정의 문서)를 준수합니다(PDF, HTML). CDD에는 호환되는 Android 기기의 하드웨어 및 소프트웨어 요구사항이 나와 있습니다.
  3. 호환성 테스트 모음(CTS)을 전달합니다. CTS를 지속적으로 사용하여 개발 프로세스 중에 호환성을 평가합니다.

CDD를 준수하고 CTS를 통과하면 기기는 Android와 호환되는 것입니다. 즉, 기기에서 Android 앱을 실행하면 앱은 Android 생태계 내에서 일관된 환경을 제공합니다.

각 Android 플랫폼 버전이 소스 코드 트리에서 별도의 브랜치에 있는 것처럼 각 버전에는 별도의 CTS 및 CDD가 있습니다. 호환되는 기기를 만드는 데 필요한 것은 하드웨어 및 소프트웨어 맞춤설정과 함께 CDD, CTS 및 소스 코드가 전부입니다.

GMS(Google 모바일 서비스) 라이선스 계약

Android 호환 기기를 만들었으면 Android에서 실행되는 Google의 독점 앱 모음(Google Play, YouTube, Google 지도, Gmail 등)인 GMS(Google 모바일 서비스)와의 라이선스 계약을 고려해보세요. GMS는 Android 오픈소스 프로젝트에 포함되지 않으며 Google과의 라이선스 계약을 통해서만 사용할 수 있습니다. GMS 라이선스를 요청하는 방법은 Google 문의/커뮤니티 페이지를 참고하세요.